реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Перевод программы из CodeVisionAVR в IAR, Как это будет?
Oleg_IT
сообщение Oct 26 2005, 15:11
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



В программе на 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 адрес.
Go to the top of the page
 
+Quote Post
VladimirZ
сообщение Oct 26 2005, 15:46
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 8-02-05
Из: Харьков
Пользователь №: 2 496



А зачам такие сложности с указателем? Может без него проще?
j = rf_rx_buffer[1];
Go to the top of the page
 
+Quote Post
Old1
сообщение Oct 26 2005, 17:51
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(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;
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Oct 31 2005, 05:50
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Я понимаю, что это может и не эффективно, но так есть в коде от Atmel. Там дальше идёт работа с этим указателем. Может и стоит переработать код на работу с индексами.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 13:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01456 секунд с 7
ELECTRONIX ©2004-2016