Всем добрый день!
С недавнего времени до ужасу как приспичило)) короче учусь работать с устройствами 1wire, специально ради этого в С полез, безумно интересно, планов громадье, но дело не в этом)).
Разбираюсь вот с чтением серийного номера, и решил использовать наиболее простую в электрическом смысле схему -
http://we.easyelectronics.ru/electro-an ... ompom.htmlРанее о ней упоминали, дело там завязано на переключение скорости UART.
Писать я пытаюсь на С, в Линуксе, под VMWARE, UART у меня на FT232, проброшен туннелем до Линукс, и там он живет как
/dev/ttyUSB0.
Пока я как новичек, надежно добился 2-х результатов - уверенно получаю ответ на RESET, и путем нескольких вложенных циклов произвожу резкое переключение скоростей порта просто чтобы удостоверится что он переключается, и данные не искажаются, микруха не "захлебывается". Это последнее - просто для себя, к серийному номеру отношение не имеет.))
Подскажите пожалуйста правильные дальнейшие действия! Впервые влез в это, помогите разобраться!
Исходя из статьи, основное общение с таблеткой надо производить на скорости 115200, при этом я так понял, байт-команда передается целым блоком, а ответ - требует побитовое подтверждение получения? Или как?
В статье читаем - "1" - это 0хFF, "0" - 0x00. Значит, если я хочу передать допустим, 0х33 (110011) - это как правильно сделать?
Наверное, дополнить до 00110011, и передать справа налево так:
0хFF
0хFF
0x00
0x00
0хFF
0хFF
0x00
0x00
Могу я отправить этот байт блоком, не будет ли таблетка присылать подтверждение доставки?
Если я правильно понял, буду делать.)
Вслед, должен последовать ответ, который обнаруживается как искажение передаваемых данных, я так понимаю? Т.е если я передаю FF, а эхом приходит FE(rx и tx ведь соединены), значит таблетка передала "1", если FF - значит "0". Т.е я должен последовательно 64 раза послать FF, и смотреть что получится? Если так, один только вопрос - какую дать временную зедержку между отправкой 0х33 и попыткой чтения номера?
Заранее благодарю за ответ!