目录
实验任务要求:
理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:
- 显示自己的学号和姓名;
- 上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者歌词、诗词。(最好使用硬件刷屏模式);
- 显示AHT20的温度和湿度;
一、SPI简介
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。
二、实验前期准备
所用设备有:野火STM32F103指南者核心板、0.96inch 7线S OLED、 AHT20芯片
参考程序来源:0.96inch SPI OLED Module
实验基于此程序完成
0.96 inch 7线 OLED产品照片:
照片来自:0.96inch SPI OLED Module
三、实验内容
打开前面在产品网址下载的压缩包解压后
我所选择的工程
1.接线
工程代码里有接线说明按照其接法即可
OLED大致连线如图所示
AHT20连线在之前的博客基于I2C的温湿度采集
2.任务一:显示自己的学号和姓名
(1)添加字模
打开后按照其前面的图片提示改好设置
然后将下面的字模复制按照下面的路径
找到此行放入刚才生成的字模
(2)修改函数
在text.c文件中找到此行修改函数
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "gui.h"
#include "test.h"
int main(void)
{
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
OLED_Init(); //初始化OLED
OLED_Clear(0); //清屏(全黑)
while(1)
{
TEST_MainPage();