реклама на сайте
подробности

 
 
> STM32F030 и autobaudrate
Михась
сообщение Jan 28 2016, 08:10
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 29-09-10
Пользователь №: 59 816



Удалось ли кому запустить автоопределение скорости UART?
У меня работает, но плохо. Кварцы не используются.

Нужно передавать данные в одну сторону по следующему протоколу:

http://joxi.ru/Q2K03aZS9gXl0A

Рассчитывал на автоопределение скорости по преамбуле 0x80 в режиме USART_AutoBaudRate_StartBit. При отключенном автоопределении все работает замечательно, никаких сбоев, при включенном - очень часто регистр принимает неправильные значения, иногда отклонение в сотни раз больше нужного.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Михась
сообщение Jan 28 2016, 14:34
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 29-09-10
Пользователь №: 59 816



В общем, отчитываюсь.

Я впал в отчаяние и решил применить почти недокументированный режим для F030

ABRMOD[1:0]: Auto baud rate mode

00: Measurement of the start bit is used to detect the baud rate.
01: Falling edge to falling edge measurement. (the received frame must start with a single bit = 1 ->
Frame = Start10xxxxxx)
10: 0x7F frame detection.
11: 0x55 frame detection


Поменял преамбулу 0x55 и стал использовать в периодах между пакетами команду USART_RequestCmd(USART1, USART_Request_ABRRQ, ENABLE);

Устойчиво пересинхронизируется на лету в диапазоне 600-250000 бод.
-----------------------
UPD:
C преамбулой 0x55 худо-бедно заработал и в режиме 00:



Сообщение отредактировал Михась - Jan 28 2016, 15:18
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 17:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016