基本信息

点灯法,对照法,注释法,串口调试(把调试信息发送到电脑),显示屏调试(显示屏连接到单片机,打印到显示屏上)等。

OLED(有机发光二极管):宽视角(各个视角都能看清楚),功耗低(每个像素都是一个自发光的二极管,LCD则需要背光),相应速度快(刷新率更高)\

通信协议:I2C(一般四针脚)/SPI(一般七针脚)

接口除了电源跟地,其余接任意GPIO口,用的是io口模拟的通信,正常是接通信口。

驱动函数

image.png

image.png

每种不同针脚的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调试

先魔术棒,debug,两个use两个不同方法,右边一个需要硬件,也就是连接stm32,左边一个不用,默认电脑模拟。

点击debug进入。

image.png

黄色:将要执行的代码行

灰色,点一下,断点

左上角几个按钮第四个运行到当前行

依次是复位,全速运行,停止,单步运行,×××,跳出函数,运行到光标指定行,看某个的值,第三个符号窗口 ;

symbol window可以看这个函数中各个变量的值,假设看结构体的值,点开那个main之后,右键,ADD,添加到Watch1;就能看到值了。

Peripherals外设,可以看到所有的外设寄存器,实时性,不能在调试下修改,odr0则是gpioA0的输出寄存器,试试显示变化。

————————————————

版权声明:本文为CSDN博主「笔下觅封侯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/m0_63148816/article/details/125829155