128×32 0.91寸OLED驱动,基于STM32 HAL库
驱动:SSD1306 接口:I2C 分辨率:128×32 尺寸:0.91寸
使用STM32CubeMX生成工程 打开i2c
将oled.c添加到Src文件夹 将oledfont.h,oledpic.h添加到Inc文件夹
将以上文件添加到工程中
main.c中要添加
#include "oledpic.h"
(如果你使用OLED_ShowPic
函数来显示图片)oledfont.h已经包含在oled.c中所以不用再引用
初始化I2C MX_I2C2_Init();
初始化OLED屏幕 OLED_Init();
接下来就可以调用OLED显示函数了。
例如:我使用了i2c2接口,那么你只需要将&hi2c1改成&hi2c2就可以了。
void OLED_Write_cmd(uint8_t cmd);
void OLED_Write_data(uint8_t data);
void OLED_ShowPic(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t BMP[]);
void OLED_ShowHanzi(uint8_t x, uint8_t y, uint8_t no);
void OLED_ShowHzbig(uint8_t x, uint8_t y, uint8_t n);
void OLED_ShowFloat(uint8_t x, uint8_t y, float num, uint8_t accuracy, uint8_t fontsize);
void OLED_ShowNum(uint8_t x, uint8_t y, uint32_t num, uint8_t length, uint8_t fontsize);
void OLED_ShowStr(uint8_t x, uint8_t y, char *ch, uint8_t fontsize);
void OLED_ShowChar(uint8_t x, uint8_t y, uint8_t ch, uint8_t fontsize);
void OLED_Allfill(void);
void OLED_Set_Position(uint8_t x, uint8_t y);
void OLED_Clear(void);
void OLED_Init(void);
使用硬件I2C1,SDA接PB7,SCL接PA15
具体配置可以看example-F334R8-0.91OLED.ioc
文件(使用STM32CubeMX打开)
使用硬件I2C2,SCL->PB10 SDA->PB11 (我的I2C1好像有问题😭)
硬件按配置使用I2C2,使用PlatformIO开发