最近翻船了, 万万在第一时间没想到串口无法正常发送数据竟然是因为 CubeMX 软件设置的问题.
在最近一个项目中由于物料不足, 导致一批板子使用了 24Mhz 和 8Mh 两种参数的晶振, 写程序时也没多想, 调试阶段使用的是焊接 24Mhz 晶振的板子, 一切功能 OK, 可是在将时钟配置 24 修改未 8 之后, 在 8Mhz 的板子上竟然出现了 BUG, 串口无法正常发送 / 接收数据, 首先想到的是波特率, 其实也就是时钟, 可是没想到竟然是使用 CubeMx 建立工程的问题, 最后还是拿出了之前建立的 8MHz 的模板来解决的问题.
由于时间问题, 尚未去排查具体是哪里设置未正确修改造成的问题, 不过还是要提醒一句, 越是简单的工具, 有可能会造成不可思议的 bug.
来源: http://www.bubuko.com/infodetail-3106280.html