eddy_em: (Default)
[personal profile] 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 портировать.
На игровых приставках не проверял, все равно я с их прошивками не работаю. Возможно, будет даже на них работать.

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 09:13 pm
Powered by Dreamwidth Studios