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

 
 
 
Reply to this topicStart new topic
> USART - передача одного байта
Паша_З
сообщение May 11 2011, 20:51
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 3-03-11
Из: Рыбинск
Пользователь №: 63 374



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

Я думаю, это связано с неверной интерпритацией входных данных приёмником, т.е. он находит СТАРТ- и СТОП-биты там, где их нет, а всё, что между ними считает входным байтом.

Могут ли быть ещё какие-нибудь причины такого поведения? Как возможно решить/обойти эту проблему?
Go to the top of the page
 
+Quote Post
one_eight_seven
сообщение May 11 2011, 20:54
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 916
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



Проблема при синхронной или асинхронной передаче данных? Точно не стоят преобразователи в другой интерфейс между USART'ами? LSB first MSB first - тоже проверяли?
Go to the top of the page
 
+Quote Post
V_G
сообщение May 11 2011, 22:52
Сообщение #3


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

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



one_eight_seven
Вопрос в теме по AVR, а там вроде нет переключения LSB-MSB. И вопрос точно по асинхронной передаче, т.к. при синхронной не требуются старт- и стопбиты.

Паша_З
1. Скорее всего, у вас проблемы с корректной передачей байтов. Вы точно ожидаете, чтобы буфер передатчика освободился, или работаете по прерыванию от передатчика, или тупо шлете байты, не заботясь о том, готов ли блок UART принять их от вас?
2. Какова скорость передачи данных и какова длина и качество линии связи между премником и передатчиком? Чем выше скорость, тем короче должна быть линия.
Go to the top of the page
 
+Quote Post
smalcom
сообщение May 12 2011, 04:18
Сообщение #4


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

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



частота, длина линии?
Go to the top of the page
 
+Quote Post
psw
сообщение May 12 2011, 04:56
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 8-06-06
Пользователь №: 17 866



камень тактируется от кварца? (если да, то какого) или от внутреннего генератора
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение May 12 2011, 06:21
Сообщение #6


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

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Проверьте эту ситуацию с передаваемым байтом FF, потом подумайте.
Не поможет - нарисуйте на бумаге график напряжения при передаче Вашего одого и того же байта, потом посмотрите - если приём начать с произвольного места, сможет ли приёмник перейти на правильное?
Способ борьбы - или пауза длинной в 10 бит (для формата 8-n-1) или передать перед началом пакета FF.
Если нет пакетов - их не пердусмотрели - и не ввести - то если требуется надёжная работа - или переделывать протокол в канале или отказываться от этой работы, так как сдать её не получится.
Go to the top of the page
 
+Quote Post
Паша_З
сообщение May 12 2011, 20:35
Сообщение #7





Группа: Участник
Сообщений: 14
Регистрация: 3-03-11
Из: Рыбинск
Пользователь №: 63 374



Genadi Zawidowski
Я склонялся к этой же мысли.

Всем большое спасибо.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:01
Рейтинг@Mail.ru


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