Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
С помощью ICCAVR и ASMа удалось экспериментально выяснить что всё работает, и в таймерах прерывания нормально срабатывают. Но вот с UART траблы. Если его разрешить с прерываниями (UCSRB = 0хF8) - всё плохо как я писал выше. Если разрешить без прерываний (UCSRB = 0x18) - все хорошо до первой записи в UDR. Через несколько тактов после записи процессор полностью сбрасывается как при включении питания и переходит на нулевой стартовый адрес. (это не ошибка инициализации WDT, его в цикле постоянно на всякий случай сбрасывал)
Прогу загружал сгенерированную визардом ICCAVR (Mega8 4MHz UART 9600 T0 10KHz) и асмовскую (что-бы узнать куда вылетает). Всё стабильно НЕ работает. Думаю для отладки прикрутить софтовый UART. Больше ничего придумать не смог :(
Спасибо что откликнулись на мой вопрос.
И если не трудно, проверьте пожалуйста это у себя на эмуляторе.