KEIL有一个很强大的脚本功能,可通过初始化脚本来控制串口设备,实现串口的在线调试。
虚拟串口工具:
工具下载链接:链接: https://pan.baidu.com/s/1nvcHDzV 密码: vkxh
作用:用于虚拟一组对接的串口设备,实现APP与APP之间的串口通信。
示例:
如下图,增加一组串口设备为COM2和COM3,使用两个串口调试助手分别选择打开COM2和COM3,
在COM2设备发送指令“AA 30 CC 33 C3 3C”,则COM3设备会收到该指令。
关联初始化脚本:
1. 新建一个名为“UART_DEBUG.INI”的初始化脚本文件
内容:
MODE COM3 115200,0,8,1
ASSIGN COM3 <SIN> SOUT
作用:配置串口号为COM3,波特率为115200,数据位为8,停止位为1
2. 点击Use Simulator按钮
3. 在Initilization中,浏览选择UART_DEBUG.INI文件
4. 点击OK按钮,完成设置
在线调试:
1. 点击Start/Stop Debug Session按钮,开始调试
2. 在178行增加断点
程序解析正确的话,接收到0x30指令后,会暂停在178行
3. 点击RUN,全速运行
4. 使用串口调试工具发送0x30指令,验证0x30指令能否被正常解析
打开端口“COM2”,手动发送16进制格式指令“AA 30 CC 33 C3 3C”
5. 暂停在断点处
若成功解析0x30指令,则程序会暂停在178行,该行最左侧的图标颜色,由红色变成如下图标
6. 0x30指令调试OK
综上所述,该单片机程序已经可以成功解析0x30指令。
总结:
通过KEIL的串口调试功能,可以很快地完成串口协议的调试工作,可以很好地检查程序逻辑是否正确。
整个操作,无需烧录程序到单片机,无需连接串口线。