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

 
 
> STM32F4: USART Parity
k000858
сообщение May 31 2016, 10:48
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Странно: на UART_PARITY_NONE USART с COM-портом работает корректно.
на UART_PARITY_EVEN и UART_PARITY_ODD нет.

Даже если замкнуть Rx с Tx - получаю, не то что отправляю.
Глючит именно передатчик.

ктонибудь сталкивался с такой проблемой на данном контроллере?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 11)
Obam
сообщение May 31 2016, 10:59
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Флаг PE при приёме есть, да?
Осциллографом неправильность формирования паритета из передатчика видна?


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
k000858
сообщение May 31 2016, 12:05
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(Obam @ May 31 2016, 14:59) *
Флаг PE при приёме есть, да?
Осциллографом неправильность формирования паритета из передатчика видна?

осциллограммы пока не смотрел

пока тест такой: настроил ЮАРТ 8N1, отправил строку, ком-портом получил - все ок
настроил на 8E1, отправил в КОМ-порт, получил совсем не то (малая часть байт символом совпадает)
настроил на 8O1, отправил в КОМ-порт, получил аналогично не то

при этом на ПК формат менять не забываю (8E1, 8N1).

Go to the top of the page
 
+Quote Post
ViKo
сообщение May 31 2016, 12:18
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Джедаю надо или продолжать убиваться об Куб, или заглянуть в руководство и прочитать про биты M, PCE, PS.
Go to the top of the page
 
+Quote Post
k000858
сообщение May 31 2016, 12:26
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(ViKo @ May 31 2016, 16:18) *
Джедаю надо или продолжать убиваться об Куб, или заглянуть в руководство и прочитать про биты M, PCE, PS.

Парити контроль инейбл + парити селекшин биты в контрольном регистре ЮАРТ ?
а как по-вашему я настраиваю ЮАРТ на 8E1/8O1 не юзая эти биты?
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 31 2016, 12:30
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А M?
Go to the top of the page
 
+Quote Post
k000858
сообщение May 31 2016, 12:34
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(ViKo @ May 31 2016, 16:30) *
А M?

М????

длинна данных?
Go to the top of the page
 
+Quote Post
mantech
сообщение May 31 2016, 12:44
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(k000858 @ May 31 2016, 15:05) *
настроил на 8E1, отправил в КОМ-порт, получил совсем не то (малая часть байт символом совпадает)


А из компа в МК принимает правильно, приемник-то работает?
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 31 2016, 12:53
Сообщение #9


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(k000858 @ May 31 2016, 15:34) *
М????

длинна данных?

Bit8 Possible parity bit
P.S. длина пишется с одним "н".
Go to the top of the page
 
+Quote Post
Obam
сообщение May 31 2016, 14:36
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(k000858 @ May 31 2016, 16:05) *
осциллограммы пока не смотрел


Дык в первую очередь осциллом надо, вы словно не с "железом" работаете (:

В общем, сообщество, не будем мешать, "…пусть Володя помучается…"


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
k000858
сообщение Jun 1 2016, 04:07
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(Obam @ May 31 2016, 18:36) *
Дык в первую очередь осциллом надо, вы словно не с "железом" работаете (:

В общем, сообщество, не будем мешать, "…пусть Володя помучается…"

осциллом пока не поймали. осложнение в том, что если слать 1 байт то все ок.
то есть посылка с ПК не отличает от посылки с МК

проблема наблюдается при посылке пачки байт: 1й ок а часть последующих коверкается.
проблема именно со стороны передатчика МК

Так же если замкнуть RX с TX, заметно, что получаем не то, что отправляли

Цитата(ViKo @ May 31 2016, 16:53) *
Bit8 Possible parity bit
P.S. длина пишется с одним "н".

WordLength сделал 9 бит - заработало.
вы намекали на это?
Код
When the parity
control is enabled, the computed parity is inserted at the MSB position (9th bit if M=1; 8th bit
if M=0) and parity is checked on the received data. This bit is set and cleared by software.


как то не логично: если выбрал Even, то и выбрал 9 бит, а на ПК оставляешь 8 бит. как то не сходится. но работает.

можете разжевать? недопонимаю..
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 1 2016, 05:18
Сообщение #12


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Да, на это. Чего там разжевывать, я картинку посмотрел, и надпись на ней процитировал. Бит четности, если он используется, вставляется на место старшего бита в данные. Такая логика. Меня устраивает. Правда, я четность не использую, другими механизмами проверки достоверности передачи пользуюсь, (там, где считаю нужным).
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 04:13
Рейтинг@Mail.ru


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