Заголовок сообщения: Atmega assembler, на терминал сыпится мусор
Добавлено: Пн мар 01, 2021 09:05:30
Родился
Зарегистрирован: Пн мар 01, 2021 09:01:13 Сообщений: 15
Рейтинг сообщения:0
Всем привет. Учусь работать с usart на avr. Написал функцию приема и передачи. Пробовал передать латинский алфавит на терминал, проблем не возникло. Решил попробовать сделать эхо, тут возникает проблема, на терминал сыпится мусор и ни про какое эхо говорить не происходится.
Если это "чистый ассемблер", то для начала.... Что за кристалл? Соответственно в заголовочном файле отсутствует подключение файла описания кристалла nnnnnnndef.inc (nnnnnn - имя соответствующего МК). Далее - совершенно отсутствует обслуживание прерываний в смысле привязки подпрограмм к векторам обработки прерываний, а "эхо" предусматривает отзыв по факту получения/обработки данных... Да и вообще "механика" последовательного обмена строится либо на прерываниях либо на программном ожидании факта завершения приема(или передачи) байта данных.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Заголовок сообщения: Re: Atmega assembler, на терминал сыпится мусор
Добавлено: Вт мар 02, 2021 07:43:33
Родился
Зарегистрирован: Пн мар 01, 2021 09:01:13 Сообщений: 15
Рейтинг сообщения:0
ldi r19, udr0 заменил на lds r19, udr0. Добавил вызов ожидания завершения передачи. Получилось, но при каждом нажатии на клавишу терминал печатает символ, то тот какой должен быть, то совсем другой. Решил что компьютер с микроконтроллером не синхронезированы. Пересчитал UBRR0L/H, проверил режим четности и количество стоповых битов. Все правильно, кадр формата 115200 8N2. На компьютере использую putty. Формат кадра соответствует. Попробовал поменять стоповый бит с 2 на 1. Режим эхо начал работать без ошибок. В данный момент на мк формат 8N2, на компьютере 8N1. При вводе ошибок нет. Из-за чего такое может быть?
Добавлено after 1 minute 12 seconds: Используется atmega328p
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
...В данный момент на мк формат 8N2, на компьютере 8N1. При вводе ошибок нет. Из-за чего такое может быть?
МК транслирует 8N2 приемнику путти и последний стоп-бит роли не играет. А вот когда МК принимает от путти в 8N1 возникает ошибка, т.к. МК ждет 2-й стоп-бит.
...В данный момент на мк формат 8N2, на компьютере 8N1. При вводе ошибок нет. Из-за чего такое может быть?
МК транслирует 8N2 приемнику путти и последний стоп-бит роли не играет. А вот когда МК принимает от путти в 8N1 возникает ошибка, т.к. МК ждет 2-й стоп-бит.
Как раз наоборот, в этом случае ошибка не возникает, контроллер принимает, потом отправляет символы без ошибок.
Добавлено after 1 minute 48 seconds: Как будто на контроллере стоповый бит настроен 1 вместо 2
Возможно расхождение скорости в ПК и МК. Нужно подбирать скорость с минимальными процентами ошибок (смотрим даташит) для данного источника тактирования. Да и у компа могут быть проценты отклонений... Проведите тест на "минимальной начальной" - 9600.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения