本帖最后由 1156807738 于 2019-12-13 16:27 编辑
程序没问题的,是我软件的问题,为了感谢各位热心前辈们,对我这个初学小白的指导,给各位分享一下我此次这次使用FIFO中断收发不定长数据的思路。因公司要求,代码就不挂了。
思路要点:
1.使用FIFO发送中断级别0,在发送数据时候使能中断结束及时清除标志位,响应组内中断(注意最后一次进入中断要关闭发送中断)
2.接收FIFO中断4级,在发送数据时候使能中断结束及时清除标志位,响应组内中断。为了能够接收更多数据,一帧数结束后,使用定时器定时去读取FIFO的状态未是否为空,如果延时超过3个字符的发送周期,一般可以判断收发接收(具体以设置的波特率算),如果还有数直接通过接收寄存器读取出来触发不了中断的剩余数据(即少于4字节的数)。
3,通过判断标志位的方式,确定一帧数据接收完毕,可以处理了。
这种方式可以实现发送任意字节的长度,也能一定程度上减少触发中断的频率。
供各位新手参考。谢谢大家
|