|
Работа с прерываниями в WinAVR, Глобальные переменные в main и прерываниях |
|
|
|
 |
Ответов
|
Oct 17 2008, 12:05
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 28-09-05
Пользователь №: 9 021

|
Цитата(studert @ Oct 17 2008, 15:07)  Задаю благозвучное название прерывания #define PacketReceiveComplete INT5_vect
Объявлена глобальная переменная, значение которой uint64t_t DestMAC;
Обработчик прерывания, функция getDestMAC записывает в переменную DestMAC нужные данные ISR(PacketReceiveComplete){ cli(); getDestMAC(&DestMAC); sei(); } int main(void){ ... printf("%lx",DestMAC); } Это не работает, печатает мусор,причем попытки изменить DestMAC main тоже неудачны, она не меняется. Что я делаю не так? 1) А просто printf у вас работает, если не использовать обработчиков прерываний по приему, по окончании передачи, по свободному регистру UDRn?
|
|
|
|
|
Oct 17 2008, 12:27
|
Частый гость
 
Группа: Свой
Сообщений: 76
Регистрация: 6-03-05
Из: Новосибирск
Пользователь №: 3 121

|
Цитата(mandrew @ Oct 17 2008, 19:05)  1) А просто printf у вас работает, если не использовать обработчиков прерываний по приему, по окончании передачи, по свободному регистру UDRn? Принтф работает, выводит все как положено, если 64 битные данные не кормить.
|
|
|
|
Сообщений в этой теме
studert Работа с прерываниями в WinAVR Oct 17 2008, 11:07 _dem Код#define PacketReceiveComplete INT5_vect
volati... Oct 17 2008, 11:12 Палыч Цитата(studert @ Oct 17 2008, 14:07) Что ... Oct 17 2008, 11:14 studert Цитата(Палыч @ Oct 17 2008, 18:14) Попроб... Oct 17 2008, 11:28  Палыч Цитата(studert @ Oct 17 2008, 14:28) Так ... Oct 17 2008, 11:46 SasaVitebsk volatile забыли. Иначе оптимизатор может выкинуть ... Oct 17 2008, 11:27 studert Цитата(SasaVitebsk @ Oct 17 2008, 18:27) ... Oct 17 2008, 11:45 aesok Цитата(studert @ Oct 17 2008, 15:07) Объя... Oct 17 2008, 11:33 Палыч Вы уверены, что функция printf выполняется после т... Oct 17 2008, 11:36 studert Цитата(aesok @ Oct 17 2008, 18:33) avr-li... Oct 17 2008, 11:55 Kernigan Цитата(aesok @ Oct 17 2008, 14:33) Нельзя... Oct 17 2008, 12:04  aesok Цитата(Kernigan @ Oct 17 2008, 16:04) Цит... Oct 17 2008, 17:20   demiurg_spb Цитата(aesok @ Oct 17 2008, 21:20) Пролог... Oct 17 2008, 18:51    aesok Цитата(demiurg_spb @ Oct 17 2008, 22:51) ... Oct 17 2008, 19:14    ReAl Цитата(demiurg_spb @ Oct 17 2008, 21:51) ... Oct 17 2008, 20:44 Палыч Никто не мешает разбить 64 бита на несколько ulong... Oct 17 2008, 13:31 mdmitry В каком виде надо MAC-адрес выводить? В зависимост... Oct 17 2008, 13:34 _dem Studert, а разве приведенный мною код у Вас не раб... Oct 17 2008, 16:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|