一、SPI(串行外设接口)
1.SPI协议简介
SPI协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral
Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。
2.SPI物理层
SPI通讯设备之间的常用连接方式见图
SS( Slave Select):从设备选择信号线,常称为片选信号线。 SCK (Serial
Clock):时钟信号线,用于通讯数据同步。 MOSI (Master Output, Slave
Input):主设备输出/从设备输入引脚。 MISO(Master Input,,Slave Output):主设备输入/从设备输出引脚。
3.SPI基本通讯过程
SPI通讯的通讯时序
这是一个主机的通讯时序。NSS、SCK、MOSI信号都由主机控制产生,而MISO的信号由从机产生,主机通过该信号线读取从机的数据。MOSI与MISO的信号只在NSS为低电平的时候才有效,在SCK的每个时钟周期MOSI和MISO传输一位数据。
二、使用0.96寸OLED显示屏显示数据
任务:
显示自己的学号和姓名;
显示AHT20的温度和湿度;
上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者一段歌词或诗词(最好使用硬件刷屏模式)。
程序代码
我的名字对应的点阵
在main函数中调用显示中文的函数
GUI_ShowCHinese(10,0,16,"重庆交通大学",1);
函数原型
x为相对于屏幕左边偏移量
y为相对于屏幕上边偏移量
hsize为点阵大小,选择16
str为显示的字符串
mode为模型,选择1
其他显示函数参数大同小异
显示学号
GUI_ShowString(10,24,"631907060326",16,1);
函数原型
x为相对于屏幕左边偏移量
y为相对于屏幕上边偏移量
chr为显示的字符串
Char_Size为字体大小,可以选择16
mode 默认选择1即可