Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Подробнее 30.09.03 19:30 Число просмотров: 1333
Автор: vh <Дмитрий> Статус: Member Отредактировано 30.09.03 19:30 Количество правок: 1
|
Контроль потока отключен, ибо устройство его не поддерживает.
Для справки: микроконтроллер MSP430F149
В нем реализован UART. Он умеет контроллировать четность, бит (адрес/данные), детектить ошибки, ну и еще несколько фич. Имеет буферный регистр на один байт.
Но про контроль потока (типа Xon Xoff) я ничего там не видел. Скорей всего этого там нет.
UART микроконтроллера я инициализирую просто:
8 бит на посылку, без четности, один стоповый бит.
Далее: компьютер - MH, микроконтроллер - MSP
Алгоритм такой:
1. MH посылает спец. байт в MSP (который остается сидеть в буфере микроконтроллерского UARTa) и ждет ответа (100 мск).
2. MSP как освободится, принимает из буфера этот байт, видит что это спец. байт и посылает ответ - подтверждение об установленной сессии, далее ждет пакета от MH (100 мск).
3. MH посылает заголовок и данные, далее ждет пакета о подтверждении выполнения (100 мск)
4. MSP принимает пакет, выполняет некое действие (команду, которая содержалась в пакете) и посылает пакет с подтверждением выполнения.
проблема возникает сразу на первом шаге.
MSP видет спец. байт и даже отвечает на него (видел в отладчике).
Но MH почему то выходит из функции чтения, так ничего и не прочитав. Такое ощущение, что он вовсе не ждет поступления символа, а просто сразу же выходит не найдя ничего в буфере.
Стоит поставить Sleep перед функцией чтения, все работает.
Если нужно еще подробнее, плз, укажи где.
|
|
|