Купил ультразвуковой дальномер URM37 от YERobot Подключил питание, rx tx кинул на com- порт
Пытаюсь послать на сенсор команду через гипертерминал - нет ответа, всё начинает подвисать. Перепробовал все возможные комбинации включения порта. Ничего не получилось.
Самое интересное то, что программа, скачанная с сайта
вроде бы работает, дает значения в шестнадцатеричном виде, в зависимости от расстояния до препятствия значения изменяются...
Как правильно послать команду 22 00 00 22 (чтоние расстояния) на сенсор? или 0x22 0x00 0x00 0x22 ? или 2 0 0 2 или 22000022? И при этом получить кокое-нибудь значение??? Помогите пожалуйста советом...
требуется, как я понимаю, отправить команду 22 00 00 22 на дальномер. А в каком виде? десятичном или ascii? перепробовал кучу терминальных программ, отправляя всевозможные комбинации...Молчит сенсор. А программа с оф. сайта работает. На буржуйском сайте вычитал. что надо формат отправляемых символов преобразовывать... КАК отправить на COM команду по аналогии с usart? какие должны быть параметры порта кроме 9600-8-n-1 и в каком формате отправлять? насчет СИ- вы имеете в виду C++?
вот, йошкин кот. первая ссылка в гугле - мануал http://www.google.com/search?hl=ru&q=URM37 там все написано. Во-первых, RX и ТХ не надо подключать к ком-порту - они ТТЛ-овские Во-вторых, настройка порта ":Port rate: 9600; Parity: none; Stop bit: 1"
я даташит внимательно прочитал. Режим работы порта видел. Повторю вопрос. Как получить с сенсора данные и вывести на комп? По моим понятиям com и usart идентичны. Отличие лишь в уровнях и в том что логика одного инвертирована относительно логики другого.
Добавлено спустя 40 минут 11 секунд: повторю стоящую передо мной задачу: 1-отправить данные с компа и получить ответ с сенсора. Так как "заводская" программа работает исправно, следовательно это повторить возможно , либо самописной, либо терминальной программой
Добавлено спустя 4 минуты 31 секунду: а уже после обкатки на компе, определения необходимых формул, я буду ставить дальномер на серву и шасси, и отрабатывать взаимодействие частей.
Как правильно послать команду 22 00 00 22 (чтоние расстояния) на сенсор? или 0x22 0x00 0x00 0x22 ? или 2 0 0 2 или 22000022? И при этом получить кокое-нибудь значение??? Помогите пожалуйста советом...
может в терминальной программе передается десятичные значения или другие, тогда наверное сперва нада 22000022 переделать из шестнадцатиричных в десятичные...
Добавлю и свои 5 копеек. Раз он выдает уровни ТТЛ, а у топикстартера есть желание подключить его к КОМ порту компьютера, то нужен преобразователь уровней из серии ADM202.
зачем преобразователь уровня, если: 1- готовая заводская программа работает 2- на сенсоре есть MAX (номер не помню) ps. у меня есть max232 в закромах , с 5й задачи курса авр осталась
Добавлено спустя 15 минут 37 секунд: предполагаю, что сенсор вопринимает команды в hex. Там атмега 8 стоит. Пробовал 22000022 и 0x22... и 0x22h . результата нет.
терминалка у меня не обычная, advanced serial monitor, способная отправлять как последовательность байтов,
так и макросы
разумеется пробовал в хексе отправлять команды, копируя из даташита
Добавлено спустя 7 минут 16 секунд: байт - это компьютер из 90х годов, аналог zx-spectrumа с 48 кб оперативы. я знаю, что это. Каждый байт кодируется 8ю битами, соответственно имеем 256 возможных символов.
Добавлено спустя 4 минуты: в даташите написано, что команда для сенсора состоит из 4х байт, а режим работы порта 9600-8-n-1...
Добавлено спустя 2 минуты 22 секунды: команды отправляю сразу последовательностью байт