用串口调试助手向单片机发送数据,单片机怎么接受并储存到一个数组中
1个回答
展开全部
你说的这种通信要求可以采用帧传送的方式,自己要确定一个帧格式,例如:
0X55//帧头标志
0XAA
//128字节数据
校验字节1
校验字节2
校验字节是防止数据传输错误,校验方式可自行选择。
如果数据不是很重要,定义一个132字节接收队列(全局变量数组),如果数据很重要,定义两个132字节接收队列,一个做接收缓冲,接受正确才更新正式队列。还要定义一个接收指针,当接收到帧头标志,接收指针清零,以后每接收一个字符,以接收指针做下标将数据存入接收数组。
0X55//帧头标志
0XAA
//128字节数据
校验字节1
校验字节2
校验字节是防止数据传输错误,校验方式可自行选择。
如果数据不是很重要,定义一个132字节接收队列(全局变量数组),如果数据很重要,定义两个132字节接收队列,一个做接收缓冲,接受正确才更新正式队列。还要定义一个接收指针,当接收到帧头标志,接收指针清零,以后每接收一个字符,以接收指针做下标将数据存入接收数组。
更多追问追答
追问
我之前的程序是显示4个汉字并且用4种方式,现在我需要用串口调试助手来发送这四个汉字的16进制代码(如0x20),我需要将这128个的代码怎么给temp这个数组中?还有串口编译时有个main程序,我以前的程序中也有main程序,需要怎么调整?
追答
汉字字模数据有提取工具,可以直接生成数组变量。
程序调整按我上面说的思路。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询