引用 13 楼 papapa123123 的回复:
谢谢Paul Chao
这里的1是 Trig Level,这个depth怎么理解?不是16么?
觉得IST 不是反应慢,如果是,那么能正确接收的16字节中也会丢失数据,但从现象看前面16字节接收总是正确的。
3,这个我试下,IISR用来共享中断的,但是我现在没有测试其他3个通道,也就是通道A独占外部中断。
这个FIFO接收超过16字节,比如我的Trig level设置成1,是不是每接收一个字节都要产生1个中断,设置成4是不是接收4个字节产生一个中断?
…
1. 看来你的 FIFO depth 是 16, 所以不管有没读走, 你的 16554 都可以正确读到 16 bytes in FIFO.
2. 建议将 baudrate 降低做测试, 若是 1200 就不会 lost, 115200 会 lost, 那麽就是 ISR-IST latency 太大.
3. Trig level 设 1, 接收 1 byte 就产生 1 个中断, 设成 4, 就 4 bytes 产生 1 个中断, 若设成 1 还是会 lost, 感觉像是中断没处理好.
4. GIISR.dll 才是共享中断, isr16550.dll 另可以做 software FIFO.
Paul, Chao @ Techware |