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

 
 
> STM32 USART Parity processing, размещение бита чётности
sonycman
сообщение Jan 2 2009, 19:23
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Судя по мануалу к STM32F10ххВ:

Data register (USART_DR)

Bits 8:0 DR[8:0]: Data value.
Contains the Received or Transmitted data character, depending on whether it is read from
or written to.
---
When transmitting with the parity enabled (PCE bit set to 1 in the USART_CR1 register), the
value written in the MSB (bit 7 or bit 8 depending on the data length) has no effect
because
it is replaced by the parity.
When receiving with the parity enabled, the value read in the MSB bit is the received parity
bit
.

Получается, с включенным контролем чётности невозможно передавать данные в 9-ти битном формате, так как девятый бит заменяется битом чётности?
Ну это ладно.
Но вот второе - ну зачем мне бит чётности нужен в виде MSB? Там же аппаратный контроль!

Получается, чтобы принимать байты с контролем, надо устанавливать ширину 9 бит?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Jan 8 2009, 08:10
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(sonycman @ Jan 2 2009, 22:23) *
Но вот второе - ну зачем мне бит чётности нужен в виде MSB? Там же аппаратный контроль!

Аппаратный-то контроль почти везде, только наиболее часто в железе данные отдельно - ошибки отдельно. При этом те-же данные ,например, буферизирубтся в FIFO, а флаги ошибок - нет. В результате признак ошибки делокализуется. Только изредка (типа Am186) встречается действительно продвинутое железо UART.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 8 2009, 11:28
Сообщение #3


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(zltigo @ Jan 8 2009, 12:10) *
Аппаратный-то контроль почти везде, только наиболее часто в железе данные отдельно - ошибки отдельно. При этом те-же данные ,например, буферизирубтся в FIFO, а флаги ошибок - нет. В результате признак ошибки делокализуется. Только изредка (типа Am186) встречается действительно продвинутое железо UART.

То есть наоборот, это признак продвинутого железа? Хм...
Go to the top of the page
 
+Quote Post



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

 


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


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