基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏(0.96寸 1.3寸通用)
Posted 遗忘丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏(0.96寸 1.3寸通用)相关的知识,希望对你有一定的参考价值。
系列文章目录
一、基于STM32F103C8T6最小系统板和STM32CubeMX实现LED灯循环闪烁
二、基于STM32F103C8T6和STM32CubeMX实现UART串口通信数据收发
三、实战小例程 基于STM32F103C8T6最小系统板和STM32CubeMX驱动WS2812B光立方
四、基于STM32F103C8T6最小系统板HAL库CubeMX驱动HC-SR501红外人体传感模块
五、基于STM32F103C8T6(HAL库)的HC-SR501红外人体传感及HC-SR04超声波测距
六、基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏(0.96寸 1.3寸通用)
文章目录
前言
OLED驱动.c及.h文件下载链接:
7针 OLED驱动.c及.h程序(SPI)或 Oled-0.96-Hal-Drive(均免费下载,无需积分)
PCtoLCD2002字模软件下载链接:
参考博文:
本文开发环境:
MCU型号:STM32F103C8T6最小系统板
IDE环境: MDK V5.36
代码生成工具:STM32CubeMx 6.3.0
电路板实拍:
一、配置CubeMX
在已有基础上,开启SPI,完成模式设置,参数设置,选三个GPIO口(我选择PA6,PB0,PB1,因为他们五个在单片机上是连续的,连线方便)。
二、硬件连线部分
- GND —> GND
- VCC —> 3.3V
- DO —> SPI_SCK (PA5)
- D1 —> SPI_MOSI (PA7)
- RES —> OLED_RES (PB0)
- DC —> OLED_DC (PB1)
- CS —> OLED_CS (PA6)
三、逻辑代码部分
初始化代码
/* USER CODE BEGIN 2 */
/* OLED初始化*/
OLED_Init();
OLED_ColorTurn(0);//0正常显示,1 反色显示
OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示
/* USER CODE END 2 */
OLED显示函数调用实例
void OLED_NonHumanBodyChineseShow()
OLED_ShowChinese(26,24,28,16); //持
OLED_ShowChinese(40,24,29,16); //续
OLED_ShowChinese(56,24,30,16); //监
OLED_ShowChinese(72,24,31,16); //测
OLED_ShowChinese(88,24,27,16); //中
OLED_ShowChar(40,48,46,12); //.
OLED_ShowChar(48,48,46,12); //.
OLED_ShowChar(56,48,46,12); //.
OLED_ShowChar(64,48,46,12); //.
OLED_ShowChar(72,48,46,12); //.
OLED_ShowChar(80,48,46,12); //.
OLED_Refresh();
其中,汉字显示函数
//显示汉字
//x,y:起点坐标
//num:汉字对应的序号
//取模方式 列行式
void OLED_ShowChinese(uint8_t x,uint8_t y,uint8_t num,uint8_t size1)
字符显示函数
//在指定位置显示一个字符,包括部分字符
//x:0~127
//y:0~63
//chr = 字符序号+32
//size:选择字体 12/16/24
//取模方式 逐列式
void OLED_ShowChar(uint8_t x,uint8_t y,uint8_t chr,uint8_t size1)
四、汉字取模
汉字序号,字符序号均在oledfont.h文件中,而汉字符号的取模可以通过PCtoLCD2002这款软件获取。
PCtoLCD2002字模软件下载链接:
运行界面如下:
选项设置如下:
把获得的数组放入oledfont.h文件对应数组即可,如我选用尺寸(size)16号的汉字数组库,就在里面添加
0x10,0x10,0x10,0xFF,0x10,0x10,0x40,0x48,0x48,0x48,0x7F,0x48,0xC8,0x48,0x40,0x00,
0x04,0x44,0x82,0x7F,0x01,0x00,0x02,0x02,0x0A,0x12,0x42,0x82,0x7F,0x02,0x02,0x00,/*"持",28*/
0x20,0x30,0xAC,0x63,0x20,0x18,0x20,0x24,0xA4,0x24,0x3F,0xA4,0x24,0xA4,0x60,0x00,
0x22,0x67,0x22,0x12,0x12,0x12,0x88,0x8A,0x4C,0x29,0x18,0x0F,0x18,0x28,0xC8,0x00,/*"续",29*/
0x00,0x00,0x7E,0x00,0x00,0xFF,0x00,0x40,0x30,0x0F,0x04,0x14,0x64,0x04,0x00,0x00,
0x40,0x40,0x7E,0x42,0x42,0x7E,0x42,0x42,0x42,0x7E,0x42,0x42,0x7E,0x40,0x40,0x00,/*"监",30*/
0x10,0x60,0x02,0x8C,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0xFF,0x00,0x00,
0x04,0x04,0x7E,0x01,0x80,0x47,0x30,0x0F,0x10,0x27,0x00,0x47,0x80,0x7F,0x00,0x00,/*"测",31*/
0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,0x00,
0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x0F,0x00,0x00,0x00,/*"中",27*/
其中序号,就是汉字二维数组的序号,根据自己的排序而定。
以上是关于基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏(0.96寸 1.3寸通用)的主要内容,如果未能解决你的问题,请参考以下文章
基于STM32F103C8T6最小系统板HAL库CubeMX驱动HC-SR501红外人体传感模块
基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏(0.96寸 1.3寸通用)
基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏(0.96寸 1.3寸通用)
基于STM32F103C8T6最小系统板HAL库CubeMX SPI驱动7针 OLED显示屏(0.96寸 1.3寸通用)