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 портировать.
На игровых приставках не проверял, все равно я с их прошивками не работаю. Возможно, будет даже на них работать.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

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 11:41 pm
Powered by Dreamwidth Studios