目录
一.SPI
1.简介
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是由 Motorola 公司提出的一种高速的,全双工,同步的通信总线,被广泛地使用在 ADC、LCD 等设备与 MCU 间要求通讯速率较高的场合。SPI总线系统可直接与各个厂家生产的多种标准外围器件连接,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线C/S(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
2.工作模式
根据 CPOL 及 CPHA 的不同状态,SPI 分成了四种模式,见下图,主机与从机需要工作在相同的模式下才可以正常通讯,实际中采用较多的是“模式 0”与“模式 3”。
3.通讯引脚
其中 SPI1 是 APB2 上的设备,最高通信速率达 36Mbtis/s,SPI2、SPI3 是 APB1 上的设备,最高通信速率为 18Mbits/s。除了通讯速率,在其它功能上没有差异。其中 SPI3 用到了下载接口的引脚,这几个引脚默认功能是下载,第二功能才是 IO 口,如果想使用 SPI3 接口,则程序上必须先禁用掉这几个 IO 口的下载功能。一般在资源不是十分紧张的情况下,这几个 IO 口是专门用于下载和调试程序,不会复用为 SPI3。
二.用0.96OLED显示数据
1.OLED原理简介
OLED,又称为有机电激光显示、有机发光半导体,OLED属于一种电流型的有机发光器件,是通过载流子的注入和复合而致发光的现象,发光强度与注入的电流成正比。OLED在电场的作用下,阳极产生的空穴和阴极产生的电子就会发生移动,分别向空穴传输层和电子传输层注入,迁移到发光层。当二者在发光层相遇时,产生能量激子,从而激发发光分子最终产生可见光。
三.OLED显示实验
(1).实验目的
(1)显示自己的学号和姓名
(2)显示AHT20的温度和湿度
(3)滑动显示实现硬件刷屏模式
(2).实验实现
1.显示学号和姓名
打开字符提取软件;
打开对应的工程
进入工程改写代码
test.c:
void TEST_MainPage(void)
{
GUI_ShowString(28,0,"rqk",16,1);
GUI_ShowCHinese(28,20,16,"冉乾坤",1);
GUI_ShowString(4,48,"631907030419",16,1);
delay_ms(1500);
delay_ms(1500);
}
保存代码,用字模生成工具生成如下:
复制生成的字模加入到工程代码中
oledfont.h
typedef struct
{
unsigned char Index[2];
char Msk[32];
}typFNT_GB16;
//宋体
//16*16大小
//逐行式,顺向(高位在前)
const typFNT_GB16 cfont16[] =
{
"冉",0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0x