Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Передача сигнала по UART
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Freeze Anti
Здравствуйте!

У меня есть вопрос.

Я передаю информацию с микосхемы ATmega103 на UART и потом в COM порт персонального компьютера. Для этого в момент выхода в главное меню программы, зашитой в мкросхему, я проверяю, имеется ли какая-либо информация в регистре UDR.

Когда у меня не открыт порт на компьютере, программа работает. Когда же у меня открыт порт на компьютере, а после этого включается мое устройство, то микросхема начинает постоянно передавать данные на UART, даже не выходя в меню.

Вопрос. Что, во время инициализации порта компьюьтер сразу передает некоторую информацию?
Dog Pawlowa
Цитата(Freeze Anti @ May 14 2007, 05:10) *
Здравствуйте!

У меня есть вопрос.

Я передаю информацию с микосхемы ATmega103 на UART и потом в COM порт персонального компьютера. Для этого в момент выхода в главное меню программы, зашитой в мкросхему, я проверяю, имеется ли какая-либо информация в регистре UDR.

Когда у меня не открыт порт на компьютере, программа работает. Когда же у меня открыт порт на компьютере, а после этого включается мое устройство, то микросхема начинает постоянно передавать данные на UART, даже не выходя в меню.

Вопрос. Что, во время инициализации порта компьюьтер сразу передает некоторую информацию?

И у меня несколько вопросов...
1. А какой программой открывается порт компьютера? Может она и передает?
2. Есть варианты "прослушки" всего, что передается из компьютера - почему бы не проверить?
3. Что именно принимается?
4. Возможно, помехи при включении вызывают прием байта?

И одно замечание - обычно в системах передачи данных предусматривается быть может не очень сложный, но продуманный протокол взаимодействия по принципу запрос - ответ. Регистрация запроса по приему неизвестно какого байта - очень ненадежная часть Вашего протокола.
Freeze Anti
Я открываю ком порт программой COM Port Toolkit v.0.175 специально, чтобы прослушать, что же у меня передается, потому что в программе, написанной на C++Builder я не вижу этих данных.

Я передаю некоторую последовательность строковых переменных, разбитую посимвольно, то есть каждый акт передачи - это отдельный символ.

То есть как я понял, ответ на мой вопрос таков, что при инициализации ком-порта не передается никаких данных.

А можно пример протокола?
Dog Pawlowa
Цитата(Freeze Anti @ May 14 2007, 05:50) *
То есть как я понял, ответ на мой вопрос таков, что при инициализации ком-порта не передается никаких данных.
А можно пример протокола?

Я ни разу не замечал, чтобы при открытии порта что-то посылалось.
Пример протокола - поищите в Гугле по словам WAKE и Леонид Иванович.
Я использую модифицированный SNMP, Вам сложновато будет.
Да, что бы это значило? :
Цитата(Freeze Anti @ May 14 2007, 05:50) *
Я передаю некоторую последовательность строковых переменных, разбитую посимвольно, то есть каждый акт передачи - это отдельный символ.

С позволения сказать, "акт" передачи - это передача чего-то осмысленного. Если было передано что-то осмысленное, то "акт" состоялся.
Freeze Anti
Осмысленно.

Любая строка состоит из букв.

Каждый акт передачи - это передача одной буквы.

(Я не знаю, насколько одна буква осмысленна, но в UDR у меня заносится каждый раз по одному символу).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.