Только глянул эту тему, может еще не поздно ответить.
1. Вы не ошиблись с типом порта связи - точно RS323, а не RS232?
2. Что-то оч. сложно вы предлагаете с регистрами и т.п. Как минимум при передаче по последовательному порту должны быть довольно точно выдержаны интервалы следования импульсов (скорость обмена, бод), каждому байту предшествуют стартовй(ые) биты, завершают стоповый(е), бит(ы) четности. Используйте все-таки ПК, либо ноутбук, либо КПК с функцией USB-host с воткнутым туда USB->Com преобразователем, либо соберите простейшую схемку на микроконтроллере, например на любом младшем серии Atmel AVR - его даже на коленке можно распаять и запрограммировать.
3. Думаю, что с большой степенью достоверности можно предположить, что если после приема входного пакета ваш датчик начинает что-нибудь отвечать, то он - исправен. Хотя сделать прием тоже не так сложно, будете на 100% уверены.
4. Мелкое замечание: в вашем случае, если приведенные вами значения посылаемых байт верны, при подсчете контрольной суммы использован т.н. "xor" (искл. или) метод. Считается сумма значений всех байт посылки по модулю 0xFF, записывается она же в конец. Приемник делает тот же подсчет и xor'ит с последним байтом. Должен получится 0. Дополнение до нуля - это когда сумма по всем байтам посылки кроме последнего и последний байт равна 0 по модулю 0xFF. Поправьте меня, если я неправ.
|