Проблема в том, что когда я принимаю данные на компьютере при помощи монитора Arduino IDE, то в консоль приходит мусор вместо строчки "hello". Что я сделал не так? Почему мусор?
[uquote="veso74",url="/forum/viewtopic.php?p=4368815#p4368815"]На какую скорость bps предполагаете, что запрограммировали UART?[/uquote]
Скорость 9600, стандартная.
В качестве рекомендации: следите информацией в pdf-ом.
Подробности о выбранном режиме есть, смотрите коэффициенты в pdf.
Asynchronous normal mode (U2Xn = 0), Asynchronous double speed mode (U2Xn = 1), Synchronous master mode
Установлены ли фюзы для этой F_CPU? (или они по умолчанию).
[uquote="veso74",url="/forum/viewtopic.php?p=4368852#p4368852"]В качестве рекомендации: следите информацией в pdf-ом.
Подробности о выбранном режиме есть, смотрите коэффициенты в pdf.
Asynchronous normal mode (U2Xn = 0), Asynchronous double speed mode (U2Xn = 1), Synchronous master mode
Установлены ли фюзы для этой F_CPU? (или они по умолчанию).[/uquote]
Тестовая прошивка для проверки работы USART ATmega328P и терминалки ПК… МК тактируется на частоте 8 МГц от внутреннего генератора… если прижать вывод РВ1 к GND то МК будет слать по UART шесть байт (ASCII = Hello!), через каждые две секунды…
(9600, данные 8, паритет N, стоп бит 1.)
А каким компилятором лучше компилировать проекты? Я пишу в Michrochip Studio, там GCC и нет которых макросов и констант (например, _BV, который есть во многих примерах) и константы многие там названы по-другому.
[uquote="Starichok51",url="/forum/viewtopic.php?p=4369000#p4369000"]ему не хекс нужно, а исходник дать[/uquote]
Я не пишу на Си… мой исходник для него как текст на китайском… без перевода не поймёт… а прошивка позволит понять работает ли аппаратная часть или нет… если всё заработает, то аппаратная часть со стороны железа выполнена верно и тогда останется разобраться только лишь с программной частью… ну а примеры на Си есть в даташите (параграф 24 USART). https://static.chipdip.ru/lib/549/DOC001549488.pdf