目前在做的一个项目会用uart接收移动模块的数据,为了提高效率想使用uart配合udma收发数据,但是接收数据格式是多种多样和不定长的,因此我没有办法用设置
udma 接收数目的设置来触发udma中断,从而知道数据已经接收完毕,tm4c123
开发板的udma例程 是用设定好udma的转存数据的数目来做的,这样只适合定长的
数据接收转存。 我有考虑过使用uart 超时中断来做,思路是uart收到数据后 由udma转存到数据区,当uart fifo没有接收到数据后 会触发接收超时中断,此时可以判定
一帧数据收完。 但是实际运行下来发现 当uart udma启用后 uart的接收超时告警是不会触发的,一定是要到达了udma转存了预设的转存数目的条件后才会触发uart
中断,所以这个办法也行不通。
所以想问一下大家 有没有什么好的办法解决用uart udma 接收不定长数据帧的方法