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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> USART
prottoss
сообщение Jul 27 2007, 17:02
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(KIG @ Jul 28 2007, 00:45) *
Проблема решилась частично........

В зависимости от момента подключения программы Terminal к COM-порту на экране появлялись разные цифры, но не '5' (пару раз все же удалось вовремя подключиться и принимать '5', но отключившись и снова подключившись принимал другие цифры)..................
не пойму зависимости подключения программы Terminal smile.gif ... Запускаешь Terminal, идешь на кухню, наливаешь кофе, приходишь к компьютеру, жмешь ресет или еще чегойто на макетной плате, видишь цифру 5 smile.gif ...

Или я еще чего упустил?


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 27 2007, 21:42
Сообщение #17


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(KIG @ Jul 27 2007, 16:45) *
В зависимости от момента подключения программы Terminal к COM-порту на экране появлялись разные цифры, но не '5' (пару раз все же удалось вовремя подключиться и принимать '5', но отключившись и снова подключившись принимал другие цифры). От проблемы избавился путем установки задержки по времени между отправками '5'. Почему все-таки не удавалось принимать пятерку при её отправлении без задержки?

Потому что вы передаёте байты, плотно пристыкованные друг к другу, используя UDRE. Поскольку вы включаете терминал в произвольный момент времени, вы попадаете на произвольный бит непрерывной последовательности. Если это нулевой бит, то программа терминал считает, что она зацепилась за старт-бит, ну и всё повторяется циклически.

Чтобы избежать подобного положения вещей, сначала включите программу терминал, затем подайте питание на МК. Приёмный уарт в ПК засинхронизируется от первого байта и вы получите то, что хотите.

Кстати, какой байт вы шлёте: 0х05 или 0х35?


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Petka
сообщение Jul 28 2007, 08:18
Сообщение #18


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

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(=GM= @ Jul 28 2007, 01:42) *
Чтобы избежать подобного положения вещей, сначала включите программу терминал, затем подайте питание на МК. Приёмный уарт в ПК засинхронизируется от первого байта и вы получите то, что хотите.


ещё есть способ засинхронизовать передачу. для этого в начале передачи или с некоторым периодом посылать в УАРТ 0xFF, 0x00. в этой последовательности не существует ложных старт и стоп битов =)
Go to the top of the page
 
+Quote Post
KIG
сообщение Jul 30 2007, 07:50
Сообщение #19


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

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Спасибо за помощь! Постараюсь сегодня попробовать!:)
Go to the top of the page
 
+Quote Post

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

 


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


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