Я программирую ATmega16 и выбрал этот контроллер в диспетчере устройств (atmel studio 6.2), но регистры не совпадают с регистрами в таблице данных для ATmega16. Я использую ICE 3 и пробовал с симулятором, но результат тот же. Регистр UCSRC отличается от какого-то другого контроллера и не может в него писать, хотя я поставил MSB
на one
.
Несоответствие регистров программирования ATmega16
comment
У вас проблема с UART-связью ATMEGA16? Пожалуйста, разработайте свой вопрос. Поместите код, чтобы понять, что вы пробовали.
- person Samurai Jack   schedule 08.06.2015
Ответы (1)
согласно таблице данных ATMEGA16, не требуется устанавливать MSB strong> из UCSRC, так как его начальное значение равно 1
. При работе с UART необходимо убедиться, что
Вы устанавливаете правильные
UBRRL
иUBRRH
в соответствии с часами контроллера, используя следующую формулу:FOSC/16/BAUD-1
Включить
RXEN
иTXEN
изUCSRB
- Установите правильные биты в
UCSRC
в соответствии с вашими требованиямиstop bit
иparity bit
Пожалуйста, обратитесь к следующему изображению:
person
Samurai Jack
schedule
08.06.2015
@Milos: Добро пожаловать. Если приведенный выше ответ сработал для вас, отметьте этот ответ как принятый, чтобы он был полезен другим.
- person Samurai Jack; 09.06.2015