【STM32】标准库 菜鸟入门 OLED显示解析

基本信息

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

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

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

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

驱动函数

函数

作用

OLED_Init();

初始化

OLED_Clear();

清屏

OLED_ShowChar(1, 1, 'A');    1行1列先是字符A

显示一个字符

OLED_ShowString(1, 3, "HelloWorld!");

显示字符串

OLED_ShowNum(2, 1, 12345, 5);

显示十进制数字

OLED_ShowSignedNum(2, 7, -66, 2);    2行7选择长度为2的有符号字符-66

显示有符号十进制数字

OLED_ShowHexNum(3, 1, 0xAA55, 4);

显示十六进制数字

OLED_ShowBinNum(4, 1, 0xAA55, 16);

显示二进制数字

每种不同针脚的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进入。

 

黄色:将要执行的代码行

灰色,点一下,断点

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

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

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

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

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值