ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1276763 Топик полностью
Ale3000 (18.01.2023 09:33, просмотров: 363) ответил Toчкa oпopы на Передача указателя в функцию. Как внутри функции можно понять, на что он указывает - Flash (pgm) или RAM?
uint8_t *origin - это указатель на RAM. Указатель на флэш сюда запихать нельзя. 

Сделайте отдельную функцию для флэш

void blah_blah(uint8_t CMD1, uint8_t CMD2, uint8_t CMD3, uint16_t Size, uint8_t __flash*origin);

AVR построен по гарвардской архитектуре. Одно и то же численное значение указателя есть и в RAM, и в флэш. Можно конечно __generic указатели применить, но непонятно зачем. Ни разу не было в нём необходимости.