Показать сообщение отдельно
Старый 14.07.2016, 11:39   #42
jurik2007
Новый Пользователь
 
Регистрация: 23.01.2016
Возраст: 40
Регион: 16, 116
Сообщений: 8
jurik2007 is on a distinguished road
По умолчанию

Цитата:
Сообщение от SanchSanch Посмотреть сообщение
Поправил версию проги pl2303drv из 4 поста данной темы.
Она у меня не работала со скоростью 115200, так же не работала передача данных в направлении от хоста к устройству.
Прикладываю скомпилированный бинарник вместе с поправленными исходниками.
Возможно, бинарник у всех не заработает, я не гуру компиляции.
Компилил прямо на устройсве прогой C4Droid из маркета (не реклама), у меня работает.
Почему-то размер бинарника получился вссего 21k против 580k в 4-м посте. Может быть там использовалась статическая компиляция, но как это настроить я не разобрался.

Список изменений:
1. В ф-ции main
1) Исправлен баг с количеством пересылаемых в pl2303 байт (при коммуникации от хоста к устройству). Могло быть одной из причин неработоспособности передачи данных в этом направлении.
2) Уменьшена в 10 раз задержка (usleep) в конце главного цикла - со 150 мс до 15 мс. Одна их причин неработоспособности скорости 115200 (и скорее всего некоторых более низких скоростей тоже). Значение взял "от балды", но вроде помогло.

2. В ф-ции pl2303_open
Исправлен баг с прописыванием сокрости в конфигурационный буфер чипа. Прописывалось только 2 байта, теперь пишется 3 байта. Основная причина неработоспособности сокорости 115200. Т.к. для двух байт максимальное значение скорости могло быть 65535.

3. В ф-ции pl2303_write
Исправлен номер Endpoint, используемой для передачи данных в pl2303 - должно быть 0x02 вместо 0x03. Основная причина неработоспособности передачи данных в направлении от хоста к устройству.
подойдет на любое ядро с любым процессором?
как ее поставить , раскажи пожалуйцста.
gps - vk172
jurik2007 вне форума   Ответить с цитированием