[an error occurred while processing this directive]
IAR и Eeprom. Почему же так?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено neiro 22 февраля 2005 г. 10:29

Вообщем есть переменная, допустим __eeprom unsigned char temp=100;
Где то в проге я начинаю читать эту переменную, допустим так
PORTC=temp; IAR использует свою функцию извлечения переменной temp из eeproma и генерит следующий код:
OUT 0x1E,R20
OUT 0x1F,R21
SBI 0x1C,0
где соответственно в регистрах r20 и r21 находится адрес переменной temp. Но допустим после выполнения комнады OUT 0x1E,R20, возникает прерывание в котором тоже происходит чтение eeproma и соответственно изменяются регистры адреса (0x1E,0x1F). И когда прога вернётся из прерывания и закончит начатую функцию - она прочитает уже не переменную temp. Я прав или это бред?

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru