单片机如何接收上位机传来的字符串?

2020-01-23 14:31发布

问题是:如何完整的接收上位机发送过来的字符串(如:abcdef),而不是单字符,上位机如果发送字符串是不是连续不停的发送?即使我们在取SBUF寄存器的数据,但在这时上位机还在不停的发送后一个字节的数据。求高手过招..给个整个理解过程,有代码就更为好了!小弟在此谢过了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
35条回答
laujc
2020-01-24 22:59
xtl2012 发表于 2013-2-27 08:21
嗯,上位机发送一个字符串,下位机利用串口中断RI 来接收,即中断一次就进入中断函数接收一个字符(例:reciv ...

是连续接收到8bit后,才放到buf中的.
有的单片机,当所有buf里都有接收的数据,而且没有被读取,就不会更新buf,而是产生一个溢出标志或溢出中断.

连续接收8bit数据,需要一段时间,在接收完成后,立即产生中断,中断后读取buf的时间很短的,几个指令周期就够了,远小于接收8bit的时间.
不会产生影响.

一周热门 更多>