使用K60串口接收字符串问题

2020-02-11 10:00发布

用单片机K60的串口和上位机完成通信,需要接收上位机的数据,是字符串,长度未知,数据开始为0xaa,结尾是中间数据的和,作为校验值,查了一些文档,串口接收数据的中断只能一个字节一个字节接收,有没办法一次串口中断吧数据都接收进来,这样就可以避免频繁的进入串口接收中断,初学K60,请各位赐教一下!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
FSL_FAE_JiCheng
1楼-- · 2020-02-13 10:50
推荐你一个好的解决办法,确定好最大可能发送的串口字节数并将其赋给DMA buffer长度,然后利用UART的IDLE Line功能可以实现一帧数据发送完成之后自动插入一个空闲中断,在该中断里把buffer里的一帧数据读出来处理即可,具体操作可以参考我的一篇文章http://blog.chinaaet.com/jihceng0622/p/40378
zjipc
2楼-- · 2020-02-13 12:13
 精彩回答 2  元偷偷看……
zjipc
3楼-- · 2020-02-13 14:38
FSL_FAE_JiCheng 发表于 2016-4-12 21:41
推荐你一个好的解决办法,确定好最大可能发送的串口字节数并将其赋给DMA buffer长度,然后利用UART的IDLE L ...

谢谢您的分享,我去研究一下,
tim4146
4楼-- · 2020-02-13 16:22
不知道楼主最后这么解决的,也没个说法啊
我觉得14楼的办法是非常不错的,我们公司也是用的类似办法,UART+DMA+空闲中断的办法,因为数据传送完一帧之后总会空闲一段时间再来第二帧的,设置一下空闲时间多长产生中断就行了。
ccitlad
5楼-- · 2020-02-13 17:56
k60 绝大多是uart的fifo只有一个字节,好像有2个串口具有fifo功能

一周热门 更多>