Не понимаю, как работает обмен данными с хостом, а точнее передача данных хосту.
Размер точки IN = 64.
1. Если я передаю сообщение меньше 64 байт или более 64 байт (но не равно 64), то оно
передается полностью и отображается в гипертерминале нормально. Но
следующая передача данных не работает (передаю данные, но не возникает прерывания по
флагу TXCOMP).
2. Если передаю сообщение длиной ровно 64 байта, то оно передается (все
нужные прерывания срабатывают), но не отображается в гипертерминале.
Если затем передаю еще один байт, то он нормально передается, и ВСЕ 64
+ 1 байт выводятся в терминал.
После этого передача данных не работает (как и в первом случае).
3. Если передавать несколько раз подряд сообщения длиной 64 байта, то формально они как бы передаются хосту (срабатывают все соответствующие прерывания), но не отображаются в терминале. А после передачи еще одного байта (или любого кол-ва байт меньше 64) - в терминале отображаются все переданные данные. Но последующие передачи не работают, как и в случае 1.
Не подскажете, с чем это может быть связано? Может с какими-нибудь некорректными
переключениями DATA0 - DATA1? или еще с чем-нибудь? Не могу найти в
своей программе каких-то принципиальных отличий от стандартного примера для ARM7.