OLED的使用
硬件要求
面包板一块,STlink仿真器,4P的OLED一块,STM32F103C8T6开发板一块;用两根导线将开发板的3.3v和G引入到面包板的正极和负极
4P的OLED,GND接面包板负极,VCC接正极,SDA接PB9,SCL接PB8;
软件以及代码
Keil5 ,代码待会贴下面,库函数以及字体文件来自于江科大提供
新函数
在说OLED的使用前,先学习一下使用到的函数
void OLED_Init(void);
OLED的初始化,初始化屏幕用
void OLED_Clear(void);
清空屏幕作用
void OLED_ShowChar(uint8_t Line, uint8_t Column, char Char);
OLED显示屏的指定位置(Line, Column)显示一个指定的字符(Char);
Line-行,Column-列,char-显示的字符;行列从0开始计数;
Eg:OLED_ShowChar(1, 1, ‘A’); // 在第一行第一列显示字符A;
void OLED_ShowString(uint8_t Line, uint8_t Column, char *String)
函数的目的是在OLED显示屏的指定位置 (Line, Column) 上显示一个以 String 指向的字符串。
Eg:OLED_ShowString(1, 3, “HelloWorld!”);// 在第一行,第三列显示一个字符串 HelloWorld;
void OLED_ShowNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length)
函数的目的是在OLED显示屏的指定位置 (Line, Column) 上显示一个指定长度的无符号整数 Number。
Eg: OLED_ShowNum(2, 1, 12345, 5);//在第2行第1列显示5个字符长度的数字12345;
void OLED_ShowSignedNum(uint8_t Line, uint8_t Column, int32_t Number, uint8_t Length)
函数的目的是在 OLED 显示屏的指定位置 (Line, Column) 上显示一个指定长度的有符号整数 Number。
Eg:OLED_ShowSignedNum(2, 7, -66, 2);//在地2行第7列显示2个字符长度的有符号数-66;
跟上一个函数用法有点像,可考虑以后使用这个函数替代,大多数场景满足使用
void OLED_ShowHexNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);
函数的目的是在 OLED 显示屏的指定位置 (Line, Column) 上显示一个指定长度的无符号十六进制整数 Number。
Eg: OLED_ShowHexNum(3, 1, 0xAA55, 4);//在第三行第一列显示4个字符长度的十六进制的数AA55
这里注意一下HEX的意思就行了。
void OLED_ShowBinNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length);
函数的目的是在 OLED 显示屏的指定位置 (Line, Column) 上显示一个指定长度的无符号二进制整数 Number。
Eg: OLED_ShowBinNum(4, 1, 0xAA55, 16);//在第四行第一列显示AA55,又因为是显示二进制,需要将0xAA55转换为二进制,1010101001010101,所以显示的长度是16个
将上面所有的函数写在主函数main里
下面展示
#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);
while (1)
{
}
}
编译下载后,如图