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

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

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

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


文章目录

  • 一、SPI
    • (1) 简介
    • (2) 示例代码(OLED 显示图片)
    • (3) 仿真效果 (OLED 显示图片)
  • 二、IIC与SPI对比

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

一、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对比

名称速度引脚数量工作模式
IIC100 kbps
400 kbps
3.4 Mbps
2pin半双工(一发一收)
SPI>10 Mbps
(没有速度限制,却决于对方设备支持)
4pin全双工(同时收发)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HIS预约挂号系统源码 看病挂号快人一步

提到去大型医院机构就诊时&#xff0c;许多人都感到恐惧。有些人一旦走进医院的门诊大厅&#xff0c;就感到迷茫&#xff0c;既无法理解导医台医生的建议&#xff0c;也找不到应该去哪个科室进行检查。实际上&#xff0c;就医也是一门学问&#xff0c;如何优化时间分配&#xf…

AIGC专题:从0到1精益创新 AIGC产品应用及商业化落地实践

今天分享的是AIGC系列深度研究报告&#xff1a;《AIGC专题&#xff1a;从0到1精益创新 AIGC产品应用及商业化落地实践》。 &#xff08;报告出品方&#xff1a;易点天下&#xff09; 报告共计&#xff1a;38页 企业内部增效-AI知识库 企业内部IT、运维、人力资源、行政等等日…

都 2024 年了!程序员的到底出路在哪里!?继续卷技术?晋升管理层?还是转业?

都 2024 年了&#xff01;程序员的到底出路在哪里&#xff01;&#xff1f;继续卷技术&#xff1f;晋升管理层&#xff1f;还是转业&#xff1f; 1&#xff09;程序员的难处2&#xff09;程序员专业方向3&#xff09;大数据3.1.大数据开发涉及到哪些技术3.2.大数据开发涉及到的…

C语言assert断言详解指针(3)

各位少年&#xff0c;大家好&#xff0c;我是博主那一脸阳光&#xff0c;今天分享assert法官的断言&#xff0c;指针宝箱的使用。 前言&#xff1a;如果你在计算机的世界中触犯了语法法规&#xff0c;那么编译器就要上线了&#xff0c;就会出现报错。然而想想我们在现实中设计到…

仰暮计划|“一周一顿的玉米面和白面蒸的糕点,是当时所能吃到的极好的食物”

平淡又记忆深刻的一生 口述人&#xff1a;元奶奶 整理人&#xff1a;宋佳音 口述人基本信息&#xff1a;女 出生于1958年&#xff0c;今年65周岁&#xff0c;祖籍东北&#xff0c;现定居于上海&#xff0c;已从制药厂退休十余年。 元奶奶的自述&#xff1a; 我出生于1958年…

B样条基函数

​定义&#xff1a;令U{u0,u1,…,um}是一个单调不减的实数序列&#xff0c;即ui≤ui1&#xff0c;i0&#xff0c;1&#xff0c;…&#xff0c;m-1。其中&#xff0c;ui称为节点&#xff0c;U称为节点矢量&#xff0c;用Ni,p(u)表示第i个p次&#xff08;p1阶&#xff09;B样条基…

asp.net core通过读取配置文件来动态生成接口

如果希望接口是每次通过配置文件生成的&#xff0c;这样设计一些低代码的方式来获得接口。 系统目录结构&#xff1a; 启动配置代码&#xff1a; using Microsoft.AspNetCore.Hosting; using System.Configuration; using System.Data.Entity; using Swashbuckle.AspNetCore.…

[Python] 什么是PCA降维技术以及scikit-learn中PCA类使用案例(图文教程,含详细代码)

什么是维度&#xff1f; 对于Numpy中数组来说&#xff0c;维度就是功能shape返回的结果&#xff0c;shape中返回了几个数字&#xff0c;就是几维。索引以外的数据&#xff0c;不分行列的叫一维&#xff08;此时shape返回唯一的维度上的数据个数&#xff09;&#xff0c;有行列…

【学网攻】 第(14)节 -- 动态路由(EIGRP)

系列文章目录 目录 系列文章目录 文章目录 前言 一、动态路由EIGRP是什么&#xff1f; 二、实验 1.引入 实验步骤 实验拓扑图 实验配置 看到D开头是便是我们的EIGRP动态路由 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学…

阿里云智能集团副总裁安筱鹏:企业数字化的终局是什么?

以下文章来源于数字化企业 &#xff0c;作者安筱鹏博士 回答数字化终局追问的起点是&#xff0c;企业需要重新定义我是谁。成为有竞争力的行业领导厂商&#xff0c;你应当成为一个客户运营商&#xff0c;即能够实时洞察、实时满足客户需求&#xff0c;追求极致的客户体验。而要…

版本管理工具git: 谨慎使用git中的撤回操作

文章目录 一、背景二、解决方案1、步骤一2、步骤二 三、参考 一、背景 昨天代码分支提交错了&#xff0c;idea中使用了如下操作&#xff0c;结果代码不见了 二、解决方案 1、步骤一 使用git reflog命令&#xff0c;查看提交记录&#xff0c;找到之前commit操作的哈希值 …

雾锁王国Enshrouded个人专服怎么搭建?怎么多人联机一起玩?

前面跟大家分享了『零基础也可以10秒开服幻兽帕鲁&#xff0c;只需要鼠标点击几下即可自动部署』一文&#xff0c;大家可以快速搭建属于自己的幻兽帕鲁专服。现在我们同样可以在10秒搭建雾锁王国专服&#xff0c;让您与朋友一起合作战胜强大的Boss。 雾锁王国&#xff1a;你是火…

Docker本地部署可编辑开源导航页并发布公网分享好友可访问

文章目录 1. 使用Docker搜索镜像2. 下载镜像3. 查看镜像4. 启动容器5. 浏览器访问6. 远程访问6.1 内网穿透工具安装6.2 创建远程连接公网地址6.3 使用固定二级子域名地址远程访问 今天和大家分享如何使用Docker本地部署一个开源的简约风格网址导航页&#xff0c;支持五种搜索引…

基于C++的面向对象程序设计:类与对象的深入剖析

面向对象程序设计的基本特点 面向对象程序设计的基本特点包括&#xff1a;抽象、封装、继承、多态。 抽象 抽象是指对具体问题或对象进行概括&#xff0c;抽出其公共性质并加以描述的过程。一般情况抽象分为数据抽象和行为抽象&#xff0c;其中数据抽象是指一个对象区别于另…

C++/数据结构:二叉搜索树的实现与应用

目录 一、二叉搜索树简介 二、二叉搜索树的结构与实现 2.1二叉树的查找与插入 2.2二叉树的删除 2.3二叉搜索树的实现 2.3.1非递归实现 2.3.2递归实现 三、二叉搜索树的k模型和kv模型 一、二叉搜索树简介 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0…

IDEA的properties默认编码是UTF-8但是不显示中文

问题描述 今天打开IDEA项目&#xff0c;发现messages_zh_CN.properties不显示中文了 但奇怪的是target下的文件就是展示的中文 而且我IDEA已经配置了编码格式是UTF-8了 使用nodepad打开源文件&#xff0c;也是展示编码格式是UTF-8 &#xff08;打开target下的文件&#xff0c;…

硅谷仿制网易云小程序登录问题解决

引言&#xff1a; 尚硅谷视频中的登录拥挤问题&#xff0c;导致无法登录&#xff0c;所以&#xff0c;我去gitee上从新找了个别人搞好点网易云的api接口【也是比较出名的那个&#xff0c;不想用不行啊&#xff0c;我也试过很多方法都不行】 接口详解网址&#xff1a;网易云音乐…

python基础——池

池的介绍&#xff1a; 提前创建进程池&#xff0c;防止创建的进程数量过多导致系统性能受到影响&#xff0c;在系统执行任务时&#xff0c;系统会使用池中已经创建进程/线程&#xff0c;从而防止资源的浪费&#xff0c;创建的进程/线程可以让多个进程使用&#xff0c;从而降低…

TypeScript Array(九) 数组

1.TypeScript Array 数组 1.1. 描述 数组对象是使用单独的变量名来存储一系列的值。  &emsp比如&#xff0c;你现在有一组数据&#xff0c;存单独变量如下&#xff1a; var data1"Android"; var data2"Java"; var data3"Harmony";那如果有…

南昌市青山湖、滕王阁、洛阳路隧道FM调频广播集群通信调度系统应用案例

一、用户需求 青山湖隧道&#xff0c;是南昌市一条东西走向的城市主干道&#xff0c;隧道为双向6车道&#xff0c;长1070米&#xff0c;其中湖底暗埋段为550米&#xff0c;净高5.45米&#xff0c;两孔每孔净宽12.4米。 滕王阁隧道是南昌市沿江北大道与沿江中大道连通工程&#…