嘿!我是目录
一、SPI(串行外设接口)
1.1 SPI的定义
SPI(Serial Peripheral Interface)就是串行外围设备接口。
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。
上升沿发送、下降沿接收、高位先发送。
上升沿到来的时候,sdo 上的电平将被发送到从设备的寄存器中。
下降沿到来的时候,sdi 上的电平将被接收到主设备的寄存器中。
1.2 SPI的连接方式
SS( Slave Select):从设备选择信号线,常称为片选信号线。
SCK (Serial Clock):时钟信号线,用于通讯数据同步。
MOSI (Master Output, Slave Input):主设备输出/从设备输入引脚。
MISO(Master Input,,Slave Output):主设备输入/从设备输出引脚。
1.3 SPI的通讯过程
MOSI 与 MISO 的信号只在 NSS 为低电平的时候才有效,在 SCK 的每个时钟周期 MOSI 和 MISO 传输一位数据。
二、使用0.96寸OLED显示屏显示数据
2.1 实验工具与材料
软件:keil
硬件:PC机,STM32开发板,0.96寸OLED显示屏,FlyMcu(烧录软件)
2.2 0.96寸OLED显示屏相关介绍
参考下面链接:0.96inch SPI OLED Module
一个厂家的demo:demo下载
2.3 连接显示屏和开发板
2.4 汉字点阵编码-生成字模
- 下载程序:
链接:https://pan.baidu.com/s/1Gm_I0yIkesvmk_A3k3Eh8w
提取码:2222 - 点开里面的.exe文件,即可开始生成字模
三、OLED屏显示学号姓名
3.1 实验要求
在OLED上显示自己的学号和姓名。
3.2 汉字点阵编码
- 笔主的名字的汉字点阵:
- 编码文件所处位置:
- 学号名字:
3.3 实验代码
- 笔主的完整源文件(Github):
https://github.com/longl118/Namexuehao
其实仅要汉字显示,直接将demo里的输出字符换成我们想要的汉字点阵即可。
3.4 实验结果
- 烧录。
- 在OLED上显示:
四、温湿度采集——OLED显示
4.1 代码
- 笔主的完整源文件(Github):
https://github.com/longl118/wenshiduLed
添加显示温湿度的代码:
void read_AHT20(void)
{
uint8_t i;
for(i=0; i<6; i++)
{
readByte[i]=0;
}
//-------------
I2C_Start();
I2C_WriteByte(0x71);
ack_status = Receive_ACK();
readByte[0]= I2C_ReadByte();
Send_ACK