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

2020-01-23 14:31发布

问题是:如何完整的接收上位机发送过来的字符串(如:abcdef),而不是单字符,上位机如果发送字符串是不是连续不停的发送?即使我们在取SBUF寄存器的数据,但在这时上位机还在不停的发送后一个字节的数据。求高手过招..给个整个理解过程,有代码就更为好了!小弟在此谢过了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
34条回答
laujc
1楼-- · 2020-01-25 15:39
mengfc 发表于 2013-3-1 10:02
单片机只能一个字符一个字符进行接收,如果需要接收字符串需在的单片机程序中进行判断。如在传输过程中设置 ...

一般网络传输时,都是按bit传输的.
连续接收指定的字节后,会产生中断到程序.
绿茶山人
2楼-- · 2020-01-25 17:27
开个数组作为缓存,每中断一次向数组中写一个字符,注意不要溢出!
mengfc
3楼-- · 2020-01-25 21:20
 精彩回答 2  元偷偷看……
mengfc
4楼-- · 2020-01-26 00:26
》单片机不会那样弱智的,你要读取的数据的正在接受的数据不在同一个地方的,除非没有及时取走,否则是不会 ...
上面这个回复对于51单片机是错误的,51单片机只能多缓冲一个字符,如果不及时取走会被覆盖掉的,你详细的看一下51的手册。
laujc
5楼-- · 2020-01-26 03:16
mengfc 发表于 2013-3-1 11:05
》单片机不会那样弱智的,你要读取的数据的正在接受的数据不在同一个地方的,除非没有及时取走,否则是不会 ...

没注意是51单片机,
现在好多单片机都是在51的基础上改进,越做越好了.
xtl2012
6楼-- · 2020-01-26 05:02
mengfc 发表于 2013-3-1 11:05
》单片机不会那样弱智的,你要读取的数据的正在接受的数据不在同一个地方的,除非没有及时取走,否则是不会 ...

嗯,谢谢你,

一周热门 更多>