1. Проверяем общую работоспособность модуля: 1.1. Удаляем связанное БТ-устройство из списка связанных; 1.2. Заново находим наш БТ-модуль; 1.3. Если нашелся - значит более менее жив;
2. Проверяем работоспособность передачи\приёма - выключаем эхо, соединяем RX/TX (джамперы выставлены на SLAVE режим или на MASTER? если никак не выставлены - значит связи не будет), проверяем - один из СОМ-портов должен выдавать эхо. Проверяем каким-нибудь терминалом, например CommTest, своих программ тут не надо.
3. Если не робит - на всякий случай прозвонить дорожки от микросборки до 12-13 контакта - может быть (очень маловероятно) плохая пайка получилась, а может при транспортировке или еще как модуль повредили в этой части.
Джамперы выставлены на SLAVE. Соединил перемычки, прогнал терминалом - эхо есть. Разорвал перемычки - эхо отсутствует. Модуль рабочий, я не сомневался. Такой вопрос: Какими средствами Вы писали программу на ПК для обмена данными с модулем? Я попробовал VB и облом. Видимо дело в нём.
Romeo писал(а):Такой вопрос: Какими средствами Вы писали программу на ПК для обмена данными с модулем? Я попробовал VB и облом. Видимо дело в нём.
Я пробовал на Borland C++ Builder с компонентой SlyComm (см. в вике) и Qt Creator с библиотекой QextSerialPort, вот только вчера я понял что сам не совсем умею это делать - два часа парился и не смог запустить обмен со своим модулем, хотя терминал работал, сегодня думаю победить злые компиляторы
Вот и сбылась моя мечта На VB6 написал прогу, отсылающая символ на модуль и принимающая от него ответ. Если RX-TX не закорочены или ответа нет, то приходит "" (пусто). Благодарю за пример CARDINAL`а: http://forum.vingrad.ru/forum/act-ST/f- ... 12311.html
Вся ночь прошла в пустых поисках... И 5 минут назад случайно нашёлся ответ!
Подойду издалека. Предыстория. Около 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. То ли я не шарю в портах. И жду Вашей помощи по части реально работающих исходников.
2Romeo: Я эту компоненту использую для управления манипулятором, а в чем там проблема? какие методы не работают?
Добавлено спустя 1 минуту 19 секунд: По любому проблема не в особенностях модулей, т.к. для модуля пофиг синхронная передача или нет, разница может быть только на уровне типового драйвера SPP over BlueTooth, но и то вряд ли. Однако это не повод бросать в беде
Собрал устройство для обмена данными между ПК и модулем. Только принимает ПК не весь пакет, каждый пятый байт пропускает. А с передачёй на модуль вообще беда. Каждый 10-й приходит. Проверялось всё на расстоянии прямой видимости в 5 метров. Программа написана на С++ Builder 6. Проверял её работоспособность на проводном COM порте. Работает идеально. Если есть опыт работы с модулем, то как осуществить уверенные приём-передачу?
Проверьте все контакты. У меня такое было, только когда контакты отходили, насколько я помню, там внутри модуля контроль доставки и целостности пакетов минимальный есть. Так что информация билась только на RX/TX контактах.