Могу ли я создать функцию, которая принимает указатели как на RAM, так и на ROM в Microchip C18?

Когда я объявляю функцию, которая принимает const char * , и передаю строковый литерал, Я получаю предупреждение

: несоответствие квалификатора типа [2066] в присваивании

, поскольку строковые литералы rom const char * . То же самое и наоборот.

Хотя PIC является архитектурой Гарварда, память отображается в одно непрерывное адресное пространство, поэтому теоретически должна быть возможность поддерживать как указатели RAM, так и ROM одинаково. Вероятно, мне нужно использовать указатели ROM, потому что они 24-битные, а указатели RAM 16-битные.

Однако простое приведение const char * к const rom char * не дает работа.

9
задан AndreKR 17 May 2011 в 05:27
поделиться