基本信息
点灯法,对照法,注释法,串口调试(把调试信息发送到电脑),显示屏调试(显示屏连接到单片机,打印到显示屏上)等。
OLED(有机发光二极管):宽视角(各个视角都能看清楚),功耗低(每个像素都是一个自发光的二极管,LCD则需要背光),相应速度快(刷新率更高)\
通信协议:I2C(一般四针脚)/SPI(一般七针脚)
接口除了电源跟地,其余接任意GPIO口,用的是io口模拟的通信,正常是接通信口。
驱动函数
每种不同针脚的oled都对应不同的驱动,驱动放在程序源码中,有四针脚以及7针脚两种,用相对的应该先导入驱动函数模块,其实就是.c.h文件,也可以自己编写,只要水平够。
oled.c文件修改对应引脚就行了。
在HardWare中添加.c.h文件,.c文件中绝大部分不用更改,只需要更改前部分显示屏接的引脚位置以及初始化引脚,.h文件中是外部可以调用的函数名称,还有OLED.Font添加字库
GPIO口引脚不进行配置默认浮空输入模式,这个模式下引脚不会输出电平,所以不配置的I/O所导通的地方可以用。
长度设置小了会自动切掉高位,大了会补0;所以要注意长度。
#include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" int main(void) { OLED_Init(); OLED_ShowChar(1, 1, 'A'); OLED_ShowString(1, 3, "HelloWorld!"); OLED_ShowNum(2, 1, 12345, 5); OLED_ShowSignedNum(2, 7, -66, 2); OLED_ShowHexNum(3, 1, 0xAA55, 4); OLED_ShowBinNum(4, 1, 0xAA55, 16); //OLED_Clear(); while (1) { } }
KEIL调试
黄色:将要执行的代码行
灰色,点一下,断点
左上角几个按钮第四个运行到当前行
依次是复位,全速运行,停止,单步运行,×××,跳出函数,运行到光标指定行,看某个的值,第三个符号窗口 ;
symbol window可以看这个函数中各个变量的值,假设看结构体的值,点开那个main之后,右键,ADD,添加到Watch1;就能看到值了。
Peripherals外设,可以看到所有的外设寄存器,实时性,不能在调试下修改,odr0则是gpioA0的输出寄存器,试试显示变化。
————————————————
版权声明:本文为CSDN博主「笔下觅封侯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_63148816/article/details/125829155