调试串口模式切换

功能概述
在设计 MCU 类的产品时,除了 485/232 等对外接口外,我们通常还会在板卡内部预留一个调试串口用于控制台交互,以便排查问题。但是一旦装上产品外壳,这个调试口就不方便使用了。其实我们完全可以让控制台与 485 收帧分时复用同一个串口,这样既可以在不拆外壳的情况下使用控制台调试,又能节省一个串口外设,效果图如下:

功能演示
串口(485)默认工作在 DLT645 收帧模式,如果收到 DataId = 0xDBDBDBDB 的设置帧,则切换到控制台交互模式,在控制台中执行 console_disable 命令可以切回 DLT645 收帧模式。
.gif)
实现原理
方式一
我这里控制台和 DLT645 注册的是两个不同的 485 设备,所以可以直接挂起 DLT645 处理线程,如果你使用的是同一个 485 设备,则要通过修改 rx_indicate 回调函数的方式实现,详见方式二。
void console_enable(void) |
void console_disable(void) |
方式二
void console_enable(void) |
void console_disable(void) |