This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

2812 SCI FIFO接收深度设置

大部分接收到的为7Byte,但也有不定长的,如9Byte,设置FIFO深度7,那么当上位机发送9个byte时,剩下2个byte怎么去读取? 前7个是中断,剩下2个BYTE就不知道怎么去读了。各位大大有什么招吗?

  • 可以自己打开一个timer,产生一个超时中断去读取剩余的数据。

    Eric

  • 可以把FIFO接收触发中断条件设置为1,这样就不会漏掉任何一个接收的字节;但是用FIFO不论是接收还是发送都存在判断接收完毕和发送完毕的问题,需要一个timer去判断是否完毕。如果数据量不是很大可以考虑采用定时查询的办法,简单还可靠,不要用FIFO中断。FIFO中断的接收中断还好,发送中断在发送完毕后还需要关中断,不然一直在那里触发发送中断。