STM32的调试方式
- 串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息
- 显示屏调试:直接将显示屏连接到单片机,将调试信息打印在显示屏上
- Keil调试模式:借助Keil软件的调试模式,可使用单步运行、设置断点、查看寄存器及变量等功能
- 点灯调试法:不清楚程序执行到了某个位置,加一个点灯程序,如果运行到了,灯就亮,没运行到,灯就不亮
- 注释调试法:原来程序是好的,但加了某段就不行,这时可以把新加入的程序全部注释掉,恢复到正常运行的状态,然后一行一行解除注释,直到错误出现,或者注释一部分,来测试另一部分,减少程序运行的部分,来定位出问题的程序在哪里
- 对照法:找了一个没问题的程序,对方的执行逻辑没问题,自己感觉自己的执行逻辑也没问题,但自己的无法运行,就可以对照一下,在对方的程序逻辑上,逐步替换成自己的程序逻辑,这就容易发现错误在什么地方
串口调试的优点:1.电脑端的软件,不仅可以显示单独的参数,而且还可以显示曲线、图形、图像等
2.还可以自己做个软件,来实现一个强大的用户交互界面
弊端:1.调试时,需要拖着电脑
2.通常串口助手只能以信息流的方式呈现数据,就是一行一行的打印,如果有很多不断变化的数据需要显示,那就只能在电脑上刷屏显示,这样用起来就不太方便
显示屏调试优势:1.对于不断变化的数据,可以覆盖刷新显示,而且显示屏可以始终接在单片机上,显示方式很直接
2.做一些稍微复杂的东西,都需要一个人机交互的界面,就直接把显示屏当做产品的一部分
弊端:1.屏幕太小,显示内容有限
2.没电脑那么强大的功能
总之测试程序的基本思想就是缩小范围、控制变量、对比测试等,测试的方法多种对样,需要在实践中多思考
总线时序快,也可以避免我们的程序阻塞
宽视角,因为OLED屏幕上自发光的,所以在任何角度看,显示内容都是清晰的,对比LCD:比如电脑屏幕,从下或者上斜看屏幕,那么屏幕会变黑,很难看清上面的内容,手机屏幕作为OLED屏幕基本各个视角都可以看清屏幕,这就是可视视角的差别
轻薄柔韧:比如现在手机上的折叠屏、柔性屏等,用的就是OLED显示屏
![](https://img-blog.csdnimg.cn/2bc44cf844b044b89e9128d2348e5e4a.png)
![](https://img-blog.csdnimg.cn/22ad7083dfec4a6785d83ac8d5b56bab.png)
![](https://img-blog.csdnimg.cn/08db8a91c4e047ccb3fc65ef11edd832.png)
![](https://img-blog.csdnimg.cn/79bdd24396b44d148c3ff15f6ca652ce.png)
****是上面1/4屏幕显示为黄色,下3/4屏幕显示为蓝色,这种屏幕适合做一个需要显示标题行的界面
![](https://img-blog.csdnimg.cn/5c45e1de8a7a452a817cb576a4d1b028.png)
UP主提供的驱动函数模块是GPIO口模拟的I2C通信,所以这两个端口就可以接在任意GPIO口上
与上类似,除去GND、VCC剩下的SPI通信协议的引脚,且同样是GPIO口模拟的I2C通信,剩下端口可以接在任意GPIO口上