while (1) { uart_send_str("Hello!"); _delay_ms(500); } }
Проблема в том, что когда я принимаю данные на компьютере при помощи монитора Arduino IDE, то в консоль приходит мусор вместо строчки "hello". Что я сделал не так? Почему мусор?
В качестве рекомендации: следите информацией в pdf-ом. Подробности о выбранном режиме есть, смотрите коэффициенты в pdf. Asynchronous normal mode (U2Xn = 0), Asynchronous double speed mode (U2Xn = 1), Synchronous master mode
Установлены ли фюзы для этой F_CPU? (или они по умолчанию).
В качестве рекомендации: следите информацией в pdf-ом. Подробности о выбранном режиме есть, смотрите коэффициенты в pdf. Asynchronous normal mode (U2Xn = 0), Asynchronous double speed mode (U2Xn = 1), Synchronous master mode
Установлены ли фюзы для этой F_CPU? (или они по умолчанию).
Тестовая прошивка для проверки работы USART ATmega328P и терминалки ПК… МК тактируется на частоте 8 МГц от внутреннего генератора… если прижать вывод РВ1 к GND то МК будет слать по UART шесть байт (ASCII = Hello!), через каждые две секунды… (9600, данные 8, паритет N, стоп бит 1.)
А каким компилятором лучше компилировать проекты? Я пишу в Michrochip Studio, там GCC и нет которых макросов и констант (например, _BV, который есть во многих примерах) и константы многие там названы по-другому.
Я не пишу на Си… мой исходник для него как текст на китайском… без перевода не поймёт… а прошивка позволит понять работает ли аппаратная часть или нет… если всё заработает, то аппаратная часть со стороны железа выполнена верно и тогда останется разобраться только лишь с программной частью… ну а примеры на Си есть в даташите (параграф 24 USART). https://static.chipdip.ru/lib/549/DOC001549488.pdf
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения