Показать сообщение отдельно
Старый 25.02.2015, 15:15   #35
SanchSanch
Новый Пользователь
 
Регистрация: 15.05.2014
Город: Москва
Регион: 77, 97, 99, 177
Машина: Opel Astra H
Сообщений: 12
SanchSanch is a glorious beacon of lightSanchSanch is a glorious beacon of lightSanchSanch is a glorious beacon of lightSanchSanch is a glorious beacon of lightSanchSanch is a glorious beacon of lightSanchSanch is a glorious beacon of light
По умолчанию

Поправил версию проги 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. Основная причина неработоспособности передачи данных в направлении от хоста к устройству.
Вложения
Тип файла: zip pl2303drv.zip (22.2 Кб, 2974 просмотров)

Последний раз редактировалось SanchSanch; 26.02.2015 в 12:01.
SanchSanch вне форума   Ответить с цитированием