单片机串口通信问题。当我在电脑上用串口助手向单片机发送一串字符串以后,我希望单片机用一个变量把字符

单片机串口通信问题。当我在电脑上用串口助手向单片机发送一串字符串以后,我希望单片机用一个变量把字符串存起来,但是有个问题:单片机如何判断字符串已经接收完毕呢?

通信双方,需要制定一个协议。

字符串开始符、结束符,校验码...,都要协商好。

简单例程:

http://blog.163.com/asm_c/blog/static/248203113201311711560166/

参考。追问

按理说字符串结尾都有/0的,我不知道串口助手发数据结尾会自动加吗?

追答

它不会加任何东西。

追问

那怎么办呢,发送内容是随机的,我控制不了,我要达到的效果是,比如计算机发了一个“123”,单片机收到以后向计算机发送I get 123并显示出来

追答

发送内容是随机的,我控制不了,
--你必须控制。
--你必须在前面、后面,加上标识符。
--否则,单片机就识别不了。

或者,默认一个长度,那么,用一个标志符也可。

http://blog.163.com/asm_c/blog/static/248203113201311711560166/

参考。

温馨提示:答案为网友推荐,仅供参考
相似回答