ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
783224 Топик полностью
vpv.vpv (28.09.2017 06:58, просмотров: 263) ответил argus98 на У АВР есть особенность - для анализа ошибок UCSRA надо читать раньше, чем UDR.
Лучше прочитать UCSRA и UDR во временные регистры, а потом уже неторопясь ковыряться в них, сколько потребуется. Я делаю нечто подобное:  void netRxMarker (void) { char c_flag, c_data; c_flag = UCSR0A; // сохранить принятые флаги для анализа c_data = UDR0; // очистить приемник, сбросить прерывание if (cNetProtRequest) // нужен ли вообще сетевой протокол? { if ((c_flag & (1<<FE0)) // если установлен бит "ошибка формата" && (!c_data)) // и при этом принят ноль (0x00) { //...... } //...... } }