Группа: Участник
Сообщений: 50
Регистрация: 22-07-11
Пользователь №: 66 352
Добрый день!
Зашёл в тупик с очисткой буфера Atmega32. Очищаю буфер как в даташите: void USART_Flush() { unsigned char dummy; while (UCSRA & (1<<RXC)) dummy = UDR; } Этот вариант не работает. Написал другой вариант с очисткой битов RXEN, TXEN: void USART_Flush() { UCSRB = 0x00; UCSRB = 0x18; } Этот код тоже не работает, всё равно остаются несчитанные символы. В чём проблема?
Если не работают два варианта, которые не могут не работать, резонно предположить, что ошибка где-то в другом месте. (дурацкий вопрос про уверенность в не-поступлении новых символов после очистки даже не задаю)