?

Log in

No account? Create an account
Костерок

eddy_em


Емельянов Эдуард Владимирович


Previous Entry Share Next Entry
Допиливание "эмулятора" PL2303
Костерок
eddy_em
Почти добил нормальный USB CDC на STM32F0x2. Решил проблему с отправкой слишком большого потока данных, "причесал" код (заменил уйму if/else if на switch). Вот только вылезла непонятная ошибка: если в обработчике linecoding_handler сразу выводить show_new_lc() (отображение новых параметров), то появляется ругань на vendor_write:
pl2303 ttyUSB1: pl2303_vendor_write - failed to write [0000]: -32

но если же я делаю, как сейчас (т.е. вывожу эти данные вне прерывания USB), появляется другая ругань:
pl2303 ttyUSB1: pl2303_set_line_request - failed: -32

Однако, ioctl на смену режима работы не возвращает ошибку. Долго втыкал в код модуля pl2303.c, но так и не понял, каким образом небольшая задержка может в одном случае возвращать ошибку на vendor_write, а в другом случае — на set_line_request!
Ну да ладно, если кто подскажет, как это исправить — хорошо. Нет — все равно оно превосходно работает, и занимает сравнительно немного места. Остается лишь на STM32F103 портировать.
На игровых приставках не проверял, все равно я с их прошивками не работаю. Возможно, будет даже на них работать.

promo eddy_em august 17, 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий: