上一篇:
[嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键
[嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集
[嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器
[嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕
文章目录
- 一、SPI
-
- [(1) 简介](#(1) 简介)
- [(2) 示例代码(OLED 显示图片)](#(2) 示例代码(OLED 显示图片))
- [(3) 仿真效果 (OLED 显示图片)](#(3) 仿真效果 (OLED 显示图片))
- 二、IIC与SPI对比
按照上图进行布置。
一、SPI
(1) 简介
- SPI 总线由 4 个引脚组成。SCLK(时钟)、MOSI(输出)、MISO(输入)、CS(片选)
- 相关应用:音频编解码器、SD卡、OLED、触摸屏、LCD、视频游戏控制器、相机镜头卡口等
- SPI的速度比前面的IIC更快。我们下面对比下效果。
(2) 示例代码(OLED 显示图片)
c
#include <stdint.h>
#include <stdio.h>
#include "sys.h"
#include "stm32f10x_conf.h"
#include "delay.h"
#include "spi_oled.h"
#include "bmp.h"
int main() {
// spi oled 端口初始化
spi_oled_init();
// OLED清屏
SPI_OLED_Clear();
// 显示一张图片
SPI_OLED_DrawBMP(0, 0, 128, 8, BMP1);
delay_ms(50);
while(1) {
// OLED清屏
SPI_OLED_Clear();
delay_ms(10);
// 显示一张图片
SPI_OLED_DrawBMP(0, 0, 128, 8, BMP_LONG);
delay_ms(50);
// OLED清屏
SPI_OLED_Clear();
delay_ms(10);
// 显示一张图片
SPI_OLED_DrawBMP(0, 0, 128, 8, BMP_GUOQI);
delay_ms(50);
}
}
(3) 仿真效果 (OLED 显示图片)
上一篇IIC的效果(在国旗时,有明显的缓慢动作):
二、IIC与SPI对比
名称 | 速度 | 引脚数量 | 工作模式 |
---|---|---|---|
IIC | 100 kbps 400 kbps 3.4 Mbps | 2pin | 半双工(一发一收) |
SPI | >10 Mbps (没有速度限制,却决于对方设备支持) | 4pin | 全双工(同时收发) |