Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Так, для информации: В коде AN AVR304 Soft UART ошибка
Отправлено
JH 23 декабря 2009, г. 10:21
В процедуре putChar забывают инициализировать таймер.
В итоге так, как это представлено в примере, работает. Но если до приема хотя бы одного байта пытаться отправить данные, работа UART будет некорректной. Только после приема хотя бы одного байта корректно работает отправка.
Корректная часть кода:
//CLEAR_TX_PIN(); // Clear TX line...start of preamble.
OCR = TICKS2WAITONE; //формируем время стартового бита !!!!
CLEAR_TX_PIN( ); // Clear TX line...start of preamble
CLEAR_TIMER_INTERRUPT( ); // Clear interrupt bits
ENABLE_TIMER_INTERRUPT( ); // Enable interrupt
В текстовом описании AVR304 данная ошибка отсутствует.
Может, сэкономит кому-нибудь полчасика времени.
Составить ответ | Вернуться на конференцию.
Ответы
- Спасибо (+) - radist (23.12.2009, 13:12:49 192.168.0.57,217.114.9.154, 222 байт)