Romeo » 11 сен 2009, 16:57
Подойду издалека.
Предыстория. Около 4 месяцев назад сделал программу на VB для гироскопического манипулятора, который пересылал на ПК пачку данных из 6 байт (старт-байт, 4 байта состояния осей, 1 байт на кнопки). Устройство использовало USART и первоначально подключалось к COM1-порту. После появления на руках адаптера USB-COM решил протестить работу устройства. Создал виртуальный порт, в настройках проги на VB выбрал COM4 и всё заработало (в чём я и не сомневался).
Недалёкое прошлое.
Приобрёл модуль OR-BTM111-9.6. Давно хотел наладить радиоканал для своих "штук".
Т.к. опыт работы с виртуальными COM портами есть, то решил использовать старые программы на VB. К великому моему огорчению всё оказалось не так просто. Стандартными средствами решить задачи не получилось. Выход нашёлся вчера. API. Но всё работало только для синхронной передачи. В асинхронном режиме творилось непонятное. Приёма небыло вообще (проблема с ReadFile).
Пошёл далее. Решил взяться за C++ Builder. Перелопатил кучу примеров и инфы. Та же самая проблема с ReadFile.
Сегодня.
Открыл Hyper Terminal и проверил приходят ли данные с гироскопического манипулятора через вируальный COM. Приходят (в чём я и не сомневался). Через Hyper Terminal и закороченные RX-TX снова прогнал модуль. Всё работает.
Отсюда:
1. То ли виртуальный COM порт для OR-BTM такой особенный, что его не берёт ни один компиллятор.
2. То ли я не шарю в портах. И жду Вашей помощи по части реально работающих исходников.