[an error occurred while processing this directive]
Может ли внешнее воздействие(броски по питанию) нарушить у Сигнал 021 логику обработки прирываний?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено kolian 04 апреля 2003 г. 01:29

Нифига понять немогу, отладил протокол связи по прирываниям, все было ок, связь без брака. Потом приступил к отладке SMBus и для простоты закоментировал подпрограмму инициализации в которой разрешение прирывания по УАРТ да переход в режим 9 бит, чтоб влоб через printf выдавать в 232ой флаги состояния SMBuf и при этом немешать протоколу.
Отладил и SMBuf ,попутно спалив 2 озушки ,регистры и ЖКИ индикатор (блок питания выдавал при выключении из сети скачок нехилый, незнал что ему надо сначала выключить нагрузку а потом дергать из сети). Но процессор стоял через стабилизатор 3в и несгорел.
Таквот, решил таки вернуца к протоколу, снял комментарий с инициализации, убрал все printf .А он как рыба об лед.Файл в котором обработчик прирывания и подпрограмма инициализации УАРТ нетрогал, дата последнего изменения почти месяц назад.
Стал выводить SMOD0,SBUF0,IE на индикатор и там все как надо, SMOD0=0xD0,IE=0x90 в исходном состоянии. Посылаю байт- SMOD0=0xD5,IE=0x90 и в SBUF0 то что послал. Тоесть флаг RI0 приходит, 9тый бит выставляется, прирывания разрешенны итд. Но сабака нехочет нивкакую входить в прирывание, как только непытался. Сразу при входе в прирывание и RI0 очищяю и инкрементирую счетчик(который тоже выдаю на индикатор)- и ничего, RI0 всеравно висит а счетчик не инкрементируеца.
Жестко выставляю TI0=1 и всеравно невходит в прирывание.
Смотрю листинг- по адресу 23 какположено переход к подпрограмме обработки.Иду поадресу-все как и в сишном коде.

Это называеца просто незнаю уже что делать. Мож таки спалил камень?

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

Ответы



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

E-mail: info@telesys.ru