摘要:上位机和串口发送曲线波形图指令的格式不同。上位机直接发送"adds0.id,0,70";串口发送需使用ASCII码格式"add1,0,70"加3个0xFF结束符。单片机实现时需分开处理:先用UART_SendString发送字符串部分,再用UART_SendByte发送3个0xFF结束字节。注意不能将十六进制值作为字符串发送,否则会被解析为字符序列。
目录
在使用曲线波形图的时候,用上位机发送和用串口发送的指令格式不一样

1.使用上位机
在上位机调试入口中发送如下可以在波形图中显示对应的数据
add s0.id,0,70
但是使用单片机不能这样发
当串口屏的代码烧录后,使用串口助手或者MCU发送是的格式:
| 数据内容 | a | d | d | 1 | , | 0 | , | 7 | 0 | 结束符 | 结束符 | 结束符 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 十六进制 | 61 | 64 | 64 | 20 | 31 | 2C | 30 | 2C | 37 | 30 | FF | FF | FF |
- 这里是1是s0.id的id号,我这里假设是1
- 在我们发送70时,不能要拆成7和0分别发送,千万不要 直接发十六进制的
46
2.使用串口助手
可以在串口助手发送61 64 64 20 31 2C 30 2C 37 30 FF FF FF
3.使用单片机
这样写得对照ASCII码比较麻烦,在单片机中可以如下
// 第一部分:发字符串 (底层会自动转成多个 ASCII 字节)
UART_SendString("add 1,0,70");
// 第二部分:发 3 个原始字节 (数值 255)
// 注意:不能写成 UART_SendString("0xFF"),那样会变成发送字符 '0', 'x', 'F', 'F'
UART_SendByte(0xFF);
UART_SendByte(0xFF);
UART_SendByte(0xFF);