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

 
 
> Проверка бита четности UART
Andrnow
сообщение Dec 28 2008, 01:15
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 10-02-07
Пользователь №: 25 228



Пытаюсь изучить микроконтроллеры AVR. Эмулирую в VMLABе.

Проблема такая - не работает проверка по четности при получении байта через UART.
На сколько я понял, при ошибке контроля четности 2 бит регистра ucsrA должен стать в единицу, но этого не происходит. crying.gif Мучаюсь уже пол ночи. В чем может быть ошибка?

Приемо-передатчик конфигурирую так:

ldi temp, 0x00
out ubrr0h, temp
ldi temp, 0x05
out ubrr0l, temp
ldi temp, 0x94
out ucsr0b, temp
ldi temp, 0xa6
out ucsr0c, temp
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SSerge
сообщение Dec 28 2008, 02:01
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



А откуда при эмуляции взяться ошибке чётности? Помехи в линии связи вроде-бы не эмулируются smile.gif

Ну и чисто практический совет: не следует придавать такого большого значения контролю по чётности.
Редко когда от него есть польза. В большинстве случаев либо можно совсем никак не контролировать правильность передачи, либо наоборот, необходимо применять гораздо более сильные средства типа контрольных сумм для пакетов или даже кодов, исправляющих ошибки, но и тогда бит четности оказывается лишним.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 28 2008, 08:28
Сообщение #3


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(SSerge @ Dec 28 2008, 06:01) *
Ну и чисто практический совет: не следует придавать такого большого значения контролю по чётности.
Редко когда от него есть польза.

Низачот за совет sad.gif
Пример - MODBUS ASCII в соединении с контролем четности очень даже применим. Вообще, все, что юзает ASCII, благодаря контролю четности, позволяет упростить подсчет CRC до банального суммирования.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 17:49
Рейтинг@Mail.ru


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