[嵌入式软件][启蒙篇][仿真平台] STM32F103实现SPI控制OLED屏幕

上一篇:
[嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集

[嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器
[嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕


按图进行布置
按照上图进行布置。

一、SPI

在这里插入图片描述

(1) 简介

  1. SPI 总线由 4 个引脚组成。SCLK(时钟)、MOSI(输出)、MISO(输入)、CS(片选)
  2. 相关应用:音频编解码器、SD卡、OLED、触摸屏、LCD、视频游戏控制器、相机镜头卡口等
  3. SPI的速度比前面的IIC更快。我们下面对比下效果。

(2) 示例代码(OLED 显示图片)

#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 全双工(同时收发)

最近更新

  1. TCP协议是安全的吗?

    2024-01-28 18:52:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-28 18:52:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-28 18:52:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-28 18:52:01       18 阅读

热门阅读

  1. C: AES对称加密算法代码

    2024-01-28 18:52:01       39 阅读
  2. QT笔记 - QToolButton triggered(QAction *)不触发问题

    2024-01-28 18:52:01       33 阅读
  3. 初识C语言

    2024-01-28 18:52:01       41 阅读
  4. go 面试题分享

    2024-01-28 18:52:01       25 阅读
  5. 运维文本三剑客详辨

    2024-01-28 18:52:01       28 阅读
  6. Linux delay相关函数实现

    2024-01-28 18:52:01       25 阅读
  7. 无人机调试开源软件

    2024-01-28 18:52:01       45 阅读