有时候,单片机没有显示,为了观测实时数据(比如温度、压力、角度、加速度等等),可以把数据通过串口传到电脑上,以辅助调试。——你有没有这种工作经历?或者有没有这种需求?
如果有的话,你会用什么样的通信协议呢?请大家畅所欲言。
匠人先抛砖引玉,举几个例子:
如果数据比较单一,比如说只有一个单字节的数据。那么可以不要搞什么协议,直接发即可。
如果数据比较多,那么为了让上位机知道这次是什么数据。可能就要加前缀了。
如果是双向通讯,由上位机发命令查询,那么还要有应答机制。比如上位机发个命令字,下位机就根据指示回复指定的数据。
如果每次发的数据不止一个字节,必然要打包发送,以帧为单位传输。那么还涉及到帧长的传输,以及校验等协议。比如说可以用首字节代表帧长,尾字节代表校验和。
——除了这些,如果大家还有什么,不妨说说看。因为匠人正在编一个串口调试平台,主要功能就是通过串口提取有效数据,然后用类似示波器和码表的方式显示。匠人希望能尽可能多地兼容各种常见协议和功能(复杂的量大的数据,如图像数据,不在本次考虑之列)。
--------------------------------
请新进的网友直接去 484楼 下载最新版本《串口猎人》V31 |