Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перевод программы из CodeVisionAVR в IAR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Oleg_IT
В программе на CodeVisionAVR есть такое определение:

extern volatile unsigned char rf_rx_buffer[128]@0x0300; //receive buffer
В IAR-е так это выглядет:
extern __no_init volatile unsigned char rf_rx_buffer[128]@0x0300;

А в подпрограмме CodeVisionAVR такое использование

unsigned char j;
unsigned char *ptr;

.....................

ptr = &rf_rx_buffer[1];
j = *ptr;

Как это в IAR-е будет? Не хочет компилятор присваивать ptr адрес.
VladimirZ
А зачам такие сложности с указателем? Может без него проще?
j = rf_rx_buffer[1];
Old1
Цитата(Oleg_IT @ Oct 26 2005, 18:11)
ptr = &rf_rx_buffer[1];
j = *ptr;

Как это в IAR-е будет? Не хочет компилятор присваивать ptr адрес.
*

Не буду ничего говорить о оптимальности данного фрагмента кода, мало информации, но чтоб заработало сделай так:
Код
ptr = (unsigned char*)&rf_rx_buffer[1];
j = *ptr;

или так:
Код
volatile unsigned char *ptr;
Oleg_IT
Я понимаю, что это может и не эффективно, но так есть в коде от Atmel. Там дальше идёт работа с этим указателем. Может и стоит переработать код на работу с индексами.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.