2. 友善M6到底是个什么东西
很多人第一次看到“友善M6”这四个字,第一反应是:这是一款手机?还是某个开发板的型号?其实都不是。圈内更习惯叫它“友善串口助手”——没错,M6是友善串口助手软件里的一个经典版本标识,在嵌入式调试、单片机开发、物联网设备联调这些场景里,它的出镜率非常高。之所以叫“M6”,是沿用了这套工具内部迭代的版本代号,老用户一看到这个代号就知道,这是那个界面清爽、功能扎实、串口调试体验顺手的经典版本。
对于做嵌入式开发、硬件调试、传感器数据采集、设备固件联调的朋友来说,友善M6解决的核心问题很直接:让你在电脑上稳定、高效地完成串口数据的收发与监视。你写好的单片机程序通过USB转串口连上电脑,打开友善M6,设置好波特率,就能实时看到设备打印的日志、调试信息,也能手动下发指令去控制设备。没有它,你可能就得靠笨重的示波器或者一遍遍烧录程序来摸索设备状态,效率完全不在一个量级。
我自己第一次用友善M6,是调试一块STM32F103的板子,当时需要不停修改PID参数、观察电机转速反馈。那会儿手里还有其他串口工具,但日志一多就卡顿、丢帧,换成M6之后,数据稳定性和界面布局都让我踏实很多。这篇文章我就把这些年的实际使用经验整理出来,包含从安装、配置到高级功用的完整思路,也把那些容易踩的坑和不为人知的技巧一并讲清楚。不管是刚接触串口调试的新手,还是想换个顺手工具的老手,这篇内容都值得你花几分钟看完。
1. 核心功能拆解与选型思路
1.1 串口调试到底在解决什么问题
在进入具体操作之前,先聊聊串口调试这件事本身。简单说,串口是单片机、传感器、路由器、工控板这类设备与电脑通信最基础也最常用的通道。设备把运行状态、传感器数值、错误码通过串口发送出来,电脑上的串口助手软件接收并显示,同时你也能在软件里输入指令回传给设备。
这里有个生活化的类比:串口调试就像你和一位只听得懂特定语言的同事对话。对方不停地向你汇报工作进展(设备发送数据),你也不时给对方布置新任务(电脑下发指令)。如果你俩语速不匹配(波特率不一致)、或者中间有个传话人总是漏字(串口软件丢帧),那沟通就会一团糟。友善M6的价值,就是让这个“语速匹配”和“传话不丢字”做得足够好。
选型方面,市面上串口工具不少,像SecureCRT、Xshell里也能开串口会话,还有各类开源串口助手。但友善M6在这个领域里长盛不衰,主要赢在三点:
- 启动快,资源占用低,老旧的XP电脑、win7工控机也能流畅跑,不挑硬件。
- 串口数据收发稳定性好,连续几个小时高频率接收不丢帧、不崩溃,这是调试场景里最致命的指标。
- 界面直观,常用功能一目了然,不像某些软件把简单事情复杂化,找个发送按钮都要翻三层菜单。
有朋友可能纠结要不要用付费注册版。说实话,免费版基础功能已经足够覆盖绝大多数调试需求,但注册版解锁的高级特性——比如更灵活的自定义帧格式、更长的历史记录追溯、更完善的自动应答策略——在某些复杂协议调试时确实省力不少。我的建议是,先踏实用免费版练熟基本功,真遇到瓶颈了再考虑升级,不必一开始就盲目付费。
1.2 为什么这款软件在嵌入式圈子里口碑扎实
友善M6在很多工程师和电子爱好者的工具箱里,属于“开机必开”的那一类。我在不同公司、不同项目组待过,发现一个现象:不管大家平时用什么IDE、什么调试器,电脑上总有几个通用工具是共用的,友善M6往往就是其中之一。
这背后的原因很有意思。嵌入式调试工作有个特点:杂、碎、急。你可能同时开着数据手册、原理图、示波器软件、编译环境,这时候桌面工具必须足够轻量、足够稳定,不能一开就占几百MB内存,更不能动不动就无响应。友善M6在这方面的表现,用四个字总结就是——干净利落。
另外,它对于串口参数的设置非常规范。数据位、停止位、校验位、波特率这些基础项一个不缺,而且每个参数之间的切换非常流畅,不需要重启软件生效。这一点看着不起眼,实际体验差别很大。有些串口工具改完波特率要重启,或者关掉串口再重新打开,调试节奏被打断的滋味谁试谁知道。友善M6支持随时改随时生效,尤其是在调试不同波特率设备切换时,体验极其顺滑。
更难得的是它的日志辅助功能。串口调试最怕什么?不是没数据,而是数据太多、滚得太快,你根本来不及看清之前的报文。友善M6提供了实用的数据记录和保存能力,可以把串口收到的原始数据完整保存成文件,方便事后分析、回溯。我在调一个蓝牙模块的AT指令集时,就靠这个功能把整晚的通信日志完整保存下来,第二天对照协议文档逐条排查,效率提升了不止一倍。
2. 环境准备与安装细节
2.1 安装前的软硬件准备清单
工欲善其事,必先利其器。开始折腾友善M6之前,得先把环境铺好。我整理了一份基础清单,照着准备基本不会出岔子:
| 物品/条件 | 要求与说明 |
|---|---|
| 电脑系统 | Windows XP / 7 / 8 / 10 / 11,32位或64位均可 |
| 串口硬件 | USB转串口模块(CH340、CP2102、FT232等)或电脑原生串口 |
| 驱动 | 对应串口芯片的驱动务必装好,设备管理器里能看到COM口号 |
| 目标设备 | 支持串口通信的单片机、开发板、路由器、工控板等 |
| 连接线 | USB转串口线或TTL转USB模块,注意电平匹配(3.3V/5V) |
这里重点提一句驱动问题。很多人装好友善M6后发现打不开串口,十有八九是USB转串口芯片的驱动没装好。你在设备管理器里如果看到一个黄色的感叹号,那说明驱动不对,需要去芯片厂商官网下载对应驱动。CH340的驱动尤其常见,网上很多廉价串口模块用的就是这颗芯片,驱动安装完记得重启电脑再试。
我遇到过最离谱的一次,是帮朋友调试一块国产开发板,折腾了半小时打不开串口,最后发现他把USB线插在了电脑的充电口上——那根线只支持充电,没有数据通路。这种事听起来好笑,实际发生的频率比想象中高得多。所以动手之前,先确认你的USB线是数据线,不是充电线。
2.2 软件的获取、安装与启动流程
友善M6的获取渠道比较简单,去官方网站或者一些正规的软件下载站就能找到对应版本。下载时注意区分免费版和注册版,第一次使用建议先下载免费版,功能上熟悉了再决定是否需要升级。
安装过程没有需要特别注意的坑,一路下一步即可。装完之后首次启动,界面会弹出串口参数设置的区域。这一步是很多新手容易蒙圈的地方,其实不用紧张,默认参数即可,后续可以根据设备需求逐项调整。
有朋友喜欢绿色免安装版,友善M6也有便携版,解压就能用。我的建议是,如果是自己日常用的电脑,安装版会更稳定,文件关联和历史配置管理更省心;如果是去客户现场临时调试,或者放在U盘里到处跑,绿色版就是神器,插上就能干活,不用在别人电脑上留下痕迹,也不用担心权限问题。
3. 核心功能实操与参数配置详解
3.1 串口连接的五步标准流程
用友善M6连接设备,说到底就是五个步骤,顺序对了,基本不会出问题。
第一步,USB转串口模块插上电脑,听到系统提示音后,打开设备管理器,展开“端口(COM和LPT)”列表,确认模块对应的是哪个COM口。这里有个小技巧:把模块拔掉再插上,看哪个COM号消失又出现,那个就是你的设备。这个方法比记COM号靠谱得多,因为不同设备插入顺序变化,COM号可能漂移。
第二步,打开友善M6,在界面左上角的串口参数区域,选择刚才确认的COM口号。
第三步,根据目标设备的要求,设置波特率、数据位、停止位、校验位。最常见的配置是115200-8-N-1,也就是波特率115200、8位数据位、无校验、1位停止位。如果你不确定设备用什么参数,翻一下目标设备的出厂文档或者参考代码里的初始化语句,里面一定写得很清楚。
第四步,确保设备端已经上电、程序已经运行,然后点击“打开串口”按钮。界面上的指示灯状态变化,就代表串口已经成功建立连接。
第五步,在接收区观察是否有数据进来。如果一片空白,别急着怀疑软件,先用排除法检查硬件连接、驱动状态、设备程序是否跑起来。
就我个人经验,90%的串口连不上问题都出在这五个步骤里某一步没做到位,尤其是COM口选错和波特率不对最常见。后面我会专门列一个排查清单,这里先不展开。
3.2 波特率、数据位、停止位与校验位的深度理解
很多新手一看到波特率、数据位、停止位、校验位这些词就头皮发麻,觉得是特别高深的东西。其实搞明白它们各自管什么,串口调试的基石就算打牢了。
先说波特率,它代表每秒传输多少个符号(bit)。打个比方,波特率就是两个人约定的语速。你说得太快对方听不清,说慢了又浪费时间。常见的波特率有9600、19200、38400、115200、460800等。不同速度适合不同场景,比如GPS模块常用9600,而很多高性能传感器或WiFi模块则跑在115200甚至更高。选择波特率的核心原则是:设备固件里写多少,软件里就填多少,两边必须完全一致。
数据位表示一次传输的数据位数,常见的是8位,老一些的设备可能用7位。你可以把它理解为每句话里包含的字数。由于ASCII字符刚好是7位,早期设备常用7位配合校验位使用。现在的设备基本都默认8位,省心。
停止位是一次数据帧传输结束后的停顿标记,常见的是1位或2位。它相当于一句话说完之后的句号。停止位越长,帧之间的间隔就越明显,传输速率相对降低,但稳定性更好。调试普通设备时用1位停止位就够了,只有在极端干扰环境或低速老设备上才需要考虑2位。
校验位是用于简单错误检测的机制,分为无校验、奇校验、偶校验三种。它相当于每句话末尾加一个约定好的标记,让接收方判断这句话有没有传错。现代设备很多都选择无校验,因为硬件可靠性已经大幅提升,而且校验位会占用一个数据位,影响速度。只有在一些严格要求的老协议(比如Modbus的某些变体)里,校验位才必不可少。
这里补充一个重要原则:串口通信的参数其实是“协商”出来的,不存在哪个参数“最好”,只存在哪组参数“和设备匹配”。你在软件里怎么设置,取决于设备端初始化代码怎么写。所以拿到一个新设备,最稳妥的办法是先查它代码里的串口初始化函数,比如UART_InitStructure里配置的值,照着填就行。
3.3 接收区与发送区的实战用法
友善M6的界面布局相当清晰,上面是接收区,下面是发送区,中间是串口参数和功能按钮。用顺手之后你会发现,日常调试工作90%都在这个界面上完成。
接收区的核心功能就是实时滚动显示设备发来的数据。数据显示有两种常见格式,分别是字符串(ASCII)和十六进制(HEX)。字符串模式适合直接看人可读的文本消息,比如某个传感器模块输出的“temp:25.6 hum:60.1”这样格式的日志。十六进制模式适合看原始二进制数据流,尤其适合协议调试——你必须看到最原始的字节内容,才能确认每一帧数据的完整性和正确性。
切换到十六进制模式的方法是勾选界面上的“HEX显示”选项。我强烈建议做通信协议调试时默认打开HEX显示,哪怕你觉得看十六进制头疼,也得逼自己适应。原因很简单,很多设备输出的字节在ASCII模式下会被显示成乱码或者被当作控制字符吞掉,而十六进制视图原原本本还原了每个字节,排查问题时信息量完全不同。
发送区则承担着下发指令的重任。你可以在输入框中手写要发送的内容,也可以提前在规则列表里准备好多条常用指令,一键发送。更关键的是,你可以选择发送格式——是直接发字符串,还是按十六进制字节发送。很多新手在这个地方翻车:设备协议里要求发十六进制字节0x01 0x03 0x00,结果他直接在字符串模式里输入“010300”发出去,等于发了6个ASCII字符的十六进制值,设备完全无法识别。
这里分享一个我调试RS485设备时的实际经验。当时需要周期性地给设备发送查询指令,如果每轮手动点击发送,不仅累,而且无法保证节拍一致。友善M6支持设置发送周期,打开自动发送,间隔填上500ms,它就会精确按每500ms一帧的频率发送数据。我配合接收区的日志,把整晚的设备响应数据全部记录下来,第二天对着数据表分析从设备状态,那个回合的效率高到同事以为我加了通宵的班。
4. 高级功能挖掘与效率提升心得
4.1 文件发送与固件升级场景的应用
友善M6有一个很实战的高级功能——文件发送。表面意思很好理解,就是直接把一个文件通过串口发送给设备,但在实际应用中,这个功能最典型的场景就是固件升级和OTA烧录。
做过单片机固件升级的朋友都知道,很多设备支持串口IAP(在应用编程),也就是通过串口把新的固件文件传输到设备的Flash里。这种场景下,你需要把编译生成的.bin或者.hex文件,按照一定的协议分包发送给设备。友善M6的文件发送功能在这方面表现扎实,支持以十六进制方式读取文件内容并按帧发送,为整个升级流程提供了很大的便利。
使用时有几个注意事项想单独强调。第一,发送前务必将发送区设为HEX模式,否则文件内容会被当作ASCII文本处理,固件包直接被破坏。第二,注意设备端是否要求等长数据帧,如果需要固定长度,可能要先在发送前对文件做预处理,或者利用设备端协议自动完成分包重组。第三,大文件传输需要耐心,串口速度有上限,不要拿115200的波特率传几十MB的固件包着急,那速度确实急人。
我自己给一块Linux开发板刷系统时,就用过这个功能配合设备的U-Boot引导程序传输内核镜像。整个过程虽然比不上网络烧录快,但在没有网线、没有显示器的纯串口环境下,这就是最可靠的救砖手段。
4.2 DTR/RTS信号控制的妙用与深坑提醒
友善M6界面上通常有几个不起眼的复选框——DTR和RTS。很多新手完全不知道它们是干什么的,甚至有人不小心点到了,导致设备行为异常,直接把锅甩给软件。
DTR(Data Terminal Ready)和RTS(Request To Send)是串口标准里的两个硬件流控信号线。在标准串口通信里,它们用于双方协调收发节奏,但在现代嵌入式调试场景中,它们被玩出了新花样:某些开发板会利用DTR信号来自动控制复位电路。
以经典的ESP8266和ESP32模块为例,它们的烧录流程依赖一个特殊的时序:先拉低复位引脚,再拉低GPIO0(进入下载模式),然后释放复位。很多USB转串口芯片的DTR和RTS引脚正好可以组合出这个时序。换句话说,你在友善M6上勾选或者取消勾选DTR/RTS,就相当于手动控制开发板的复位和下载模式切换。
但是这里的坑也很大。有些USB转串口模块的DTR和RTS默认电平是反的,如果你不明白这个机制,乱点这两个复选框,可能导致开发板反复重启,甚至让串口通信中断。我的经验是:正常情况下,调试普通单片机、只用RX/TX/GND三根线通信时,请保持DTR和RTS处于未勾选状态,不要动它们。只有当你理解目标开发板的复位电路原理时,才去尝试操作这两个信号。
4.3 自定义指令列表与自动化测试
在工作中,重复性的串口指令操作特别消耗精力。比如调试一个温控器,你可能要反复发送“读取当前温度”“设置目标温度”“开启加热”“关闭加热”这几条指令,每次手敲一遍或者从历史记录里翻找,效率极低。
友善M6的自定义指令列表功能就是为了解决这个痛点。你可以把常用的指令提前添加到列表里,给每条指令取个容易识别的名称,需要时直接在列表中选择,点击发送即刻执行。更进阶的用法是配合自动发送功能,构建一个简单的自动化测试脚本——定时循环发送一组指令,同时观察设备响应,实现半自动化的功能验证。
我调试一个LoRa网关模块时,需要在不同发射功率档位下测试通信距离和信号强度。手动切换意味着每次都要修改模块寄存器值,来回折腾几十次。后来我把所有指令提前配成了列表,配合辅助功能设置适当的发送间隔,一个人在楼顶和楼下完成了整组对比测试,回去翻看接收日志就能直接画出信号衰减曲线。工具用对了,干活真能快出好几倍。
5. 常见问题排查与经验速查
5.1 高频故障场景与解决步骤
把这些年遇到的串口调试问题整理了一下,发现高频故障无非集中在下面几个方向,这里直接上干货排查表。
| 现象 | 可能原因 | 处理办法 |
|---|---|---|
| 打开串口报错/打不开 | COM口号选错 | 到设备管理器里确认实际COM号 |
| 打开串口报错/打不开 | 串口被其他软件占用 | 关闭其他占用串口的软件再试 |
| 打开串口报错/打不开 | 驱动未正确安装 | 重装USB转串口驱动,重启电脑 |
| 打开串口成功但无数据 | 接线错误(TX/RX接反) | 将TX与RX对调焊接/重新插拔 |
| 打开串口成功但无数据 | 波特率不匹配 | 确认设备初始化代码中的波特率 |
| 打开串口成功但无数据 | 设备未上电或程序未运行 | 检查电源与设备状态指示灯 |
| 数据显示乱码 | 波特率不匹配 | 尝试不同波特率,常见9600/115200 |
| 数据显示乱码 | 数据位/校验位设备不一致 | 对照协议文档核查参数 |
| 丢帧、卡顿 | 系统资源占用过高 | 关闭无关软件,降低接收区刷新压力 |
| 模块反复自动复位 | DTR/RTS信号误触发 | 取消勾选DTR和RTS选项 |
这里面最容易被忽略的是第三条,“串口被其他软件占用”。很多人同时开了友善M6和另外一个串口监控工具,互相抢同一个COM口,结果当然是打不开。调试时记住一个原则:同一时刻,一个COM口只允许一个软件使用。如果你用完了某个串口工具,记得先关闭软件再拔线,避免残留进程占用。
另一个高频问题是TX/RX接反。USB转串口模块上的TX应该连接设备的RX,模块的RX连接设备的TX,很多人下意识全按同名对接,结果数据就出不来了。遇到打不开数据的情况,第一个怀疑对象就应该是接线。我自己的习惯是,拿到任何串口模块,先看丝印,再翻一遍原理图,该交叉就交叉,不用省这一步。
5.2 让调试效率翻倍的几条独家习惯
踩的坑多了,自然就总结出一些让工作变顺溜的小习惯。这里挑几条我感觉最有价值的分享出来。
第一条,养成保存日志的习惯。友善M6支持把接收区的数据记录保存成文本文件。很多人调完就关掉软件,下次出问题时毫无追溯依据。我的做法是:每次调试前新建一个以日期命名的日志文件夹,调试结束后把串口日志保存进去,方便后续分析和回溯。这个习惯在排查偶发问题时特别管用——你以为没复现的问题,翻翻昨天的日志,可能答案就静静地躺在那里。
第二条,给常用指令做一份自己的指令字典。不同设备、不同协议的指令格式千差万别,靠脑子记不现实。我会把项目中常用的串口指令整理成表格,标注每个字节的含义、CRC校验方式、发送场景,配合友善M6的自定义指令列表一起使用。这样一来,哪怕项目搁置半年再捡起来,翻一翻指令字典就能快速回到状态。
第三条,善用十六进制视图,但别过度依赖。十六进制视图能让原始数据一览无余,但它不适合直接阅读人类可读的文本。我习惯同时开两个窗口:一个十六进制模式看完整帧结构,一个ASCII模式看可读文本,两边交叉验证,效率和准确率都更高。友善M6支持接收显示模式的切换,虽然不能同时开两个窗口显示同一串口,但一键切换的速度很快,也够用了。
第四条,掌握自动发送的节奏感。自动发送功能不是随便设个间隔就一直跑,要在理解设备处理能力的前提下设置合理的发送周期。如果设备处理速度慢,你疯狂发指令,只会让设备来不及响应,数据堆积在缓冲区里,乱了套。我通常是先手动发一条指令,观察设备响应时间,然后在此基础上放宽50%的余量作为自动发送间隔。比如设备响应时间是100ms,我就设150ms的发送周期,稳妥又高效。
6. 注册版与免费版的取舍分析
6.1 功能差异与按需升级策略
关于友善M6免费版和注册版的争论,圈子里一直存在。我的观点很明确:先免费,后注册,按需升级,绝不盲从。
免费版覆盖了核心串口功能——串口参数配置、收发数据、HEX显示、文件发送、数据保存、自动发送、自定义指令列表等,这些占据了日常调试工作的绝大部分。如果你只是做常规的单片机调试、传感器读取、基本协议验证,免费版完全够用,完全没必要为用不上的功能买单。
当你的工作重心转向复杂协议调试、高可靠性测试、长时间无人值守采集时,注册版的价值才会逐渐凸显。比如更灵活的自定义帧协议解析、更完善的数据流控制策略、无限制的历史记录回溯,这些特性在标准调试场景中用不到,但在特殊场景下能帮你省下大把时间。
我曾经在一个现场调试项目中,因为免费版的历史记录条数限制,错过了几条关键报文,导致排查进度停滞了半天。后来果断升级到注册版,把完整日志拉出来逐帧分析,问题很快定位到设备固件里的一个状态机bug。那一刻我才真正明白,工具的付费价值不在于功能列表的长短,而在于能否在你最需要的时候兜住底。
6.2 注册版使用中的注意事项与避坑指南
如果你决定使用注册版,有几个细节值得留意。
首先,注意软件版本的兼容性。注册版虽然功能更全,但如果你的操作系统比较老,或者目标设备用的串口芯片比较特殊,建议先在临时环境里完整测试一遍,确认所有功能正常后再投入正式调试。我就遇到过注册版在某些精简版Windows系统上界面显示异常的情况,更新系统组件后恢复正常。
其次,注册码的备份很重要。正版授权一般绑定机器码,重装系统或更换电脑后可能需要重新激活,务必把注册信息保存在安全的位置,避免丢失。我习惯把这类授权信息统一收纳到一个加密笔记里,标注软件名称、版本、注册时间、绑定的设备特征,需要时直接翻查。
另外,在团队协作时,尽量保持软件版本一致。不同版本之间,界面布局和功能入口可能有细微差异,如果团队里有人用免费版有人用注册版,遇到问题互相沟通时容易产生信息差。统一版本和配置,能减少很多不必要的沟通成本。
7. 一个真实的综合调试案例复盘
空谈理论和功能介绍再多,也不如一个真实案例来得有说服力。这里分享一次我帮朋友调试农业环境监测节点的完整过程,其中友善M6贯穿始终,很能说明问题。
当时的情况是,一个基于STM32L051的电池供电节点,通过LoRa模块把温湿度、土壤水分数据上报到网关,同时保留一路RS485接口用于本地维护。朋友遇到的问题有两个:一是节点运行几天后会进入低功耗模式,然后叫不醒;二是通过RS485口读取数据时,返回内容总是在固定位置多出两个字节。
我拿到设备后,第一步就是用友善M6连接节点预留的调试串口,设置波特率115200、8位数据位、无校验、1位停止位。打开串口后,先观察节点上电时的启动日志,确认固件版本和初始化流程正常。然后用指令列表发送“读取系统状态”命令,得到了一串十六进制响应。切成HEX显示模式,对照协议文档逐字节解析,很快就发现了问题:在帧尾校验之前,多了两个固定数值0x0D 0x0A。这明显是设备端在发送响应时,原本用于接收AT指令的串口中断服务程序把回车换行符也一并塞进了响应缓冲区,导致数据帧长度异常。
定位到原因后,解决问题就顺理成章了。让朋友在设备端修改串口接收处理逻辑,把回车换行符过滤掉,重新烧录固件后再用友善M6验证,反复发送20次读取指令,每一次的响应帧长度、校验值、数据内容都完全一致,故障彻底消除。
这个案例说明了友善M6在实战中到底有多顺手。它没有炫技的界面,没有什么花哨的特效,但它提供了一个可靠、稳定、透明的窗口,让你能够真实地看到设备“说”了什么。而调试的本质,就是在这个过程中发现设备端的问题,而不是质疑软件端的能力。
8. 最后分享的一些心里话
写到这里,友善M6的基本使用经验和进阶技巧都聊得差不多了。作为一个和串口调试打了多年交道的人,我越来越感觉到,真正好用的工具往往不是功能最花哨的那个,而是那个在你最需要时从不掉链子的家伙。友善M6在我眼里就是这样的存在。
我个人在实际操作中的体会是,串口调试的功力提升,七分靠对设备和协议的理解,三分靠工具的熟练运用。哪怕给你再好的工具,你连设备的时序图都看不懂,连基本的十六进制协议都解析不明白,那也是白搭。反过来,只要你对底层逻辑有清晰的认识,友善M6这类工具就像一把趁手的螺丝刀,帮你把每一颗螺丝都拧得明明白白。
最后再分享一个小技巧,也是我这些年一直沿用的习惯:调试告一段落后,抽出几分钟用友善M6保存一份完整日志,顺手在日志头部写几行注释——记录当天的调试目标、改动内容、关键发现。这样的小习惯看似不起眼,长期积累下来就是一笔极其宝贵的项目资产。很多几个月后回溯的疑难问题,答案往往就藏在这些被认真记录下来的日志里。
如果这篇文章让你对友善M6和串口调试有了更清晰的认识,不妨打开软件,接上一块开发板,亲手试试那些参数和功能。工具就在那里,经验需要自己积累,先用起来,剩下的交给时间就好。