首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【STM32】0.96寸OLED显示屏(7针SPI协议)软件模拟SPI

【自制展示】2020鼠年大吉 文章目录 概述 3.1硬件设计 3.2软件设计 3.2.1编程要点 3.2.2代码分析 1、OLED驱动头文件oled.h 2、OLED驱动文件oled.c 3、字库取模头文件...oledfont.h 4、图片取模头文件bmp.h 4、主函数 概述 某宝上买的OLED,IIC/SPI都可以,买来看的时候发现背面焊的是SPI。...板子上又没有硬件SPI,只好用软件模拟SPI。很久之前学的了,现在把它写在CSDN上,各位大佬如有什么想法,欢迎评论!...某宝上介绍的比较详细,需要注意的是这个OLED可以焊接电阻R1~R4中的某几个来选择IIC或者SPI协议,详情见以下图片 3.2软件设计 3.2.1编程要点 1、初始化GPIO口来模拟SPI,每个人设置的...if(cmd) OLED_DC_Set(); else OLED_DC_Clr(); OLED_CS_Clr(); OLED_WR_Clr(); OLED_WR_Set

1.3K20

Linux SPI 驱动

二、SPI硬件接口设计 咱们学习SPI首先得SPI本身是什么开始看起,单纯看代码移植代码其实意义不大,咱们还是摆脱工具人的想法,从硬件接口出发探索整个SPI的设计实现的推导逻辑。...所以一个完整的SPI的工作流程应该如下: image.png 三、SPI时序图 在对SPI有了一个基础的硬件接口认知之后,接下来,我们看下SPI的时序图,学习了SPI的时序图有助于我们对这几个信号之间的协同工作更进一步的了解...代码部分均来自于linuxkernel开源代码https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/?...h=v4.14.258 1)一条总线 Spi总线,spi总线注册、注销 image.png 2)三个数据结构 a、Spi_driver image.png b、spi_transfer image.png...个人理解现在这个科技发展的风口下,手机、IOT、车机等终端设备齐放异彩的大背景下,新终端生态的搭建、基础智能设备的整合、大健康的趋势下,Sensor的发展是一个非常关键的驱动力,基础驱动软件能力的掌握也是重中之重,linux

18.2K12
您找到你想要的搜索结果了吗?
是的
没有找到

【STM32学习记录3】0.96寸OLED显示屏(7针SPI协议)软件模拟SPI

概述 某宝上买的OLED,IIC/SPI都可以,买来看的时候发现背面焊的是SPI。板子上又没有硬件SPI,只好用软件模拟SPI。很久之前学的了,现在把它写在CSDN上,各位大佬如有什么想法,欢迎评论!...某宝上介绍的比较详细,需要注意的是这个OLED可以焊接电阻R1~R4中的某几个来选择IIC或者SPI协议,详情见以下图片 ?...3.2软件设计 3.2.1编程要点 1、初始化GPIO口来模拟SPI,每个人设置的GPIO口不同,开发板与OLED接线也会不同,所以在拿到别人的程序代码时,一定要看看ta是用那几个GPIO口来模拟的,不要看...if(cmd) OLED_DC_Set(); else OLED_DC_Clr(); OLED_CS_Clr(); OLED_WR_Clr(); OLED_WR_Set...char y) { OLED_WR_Byte(0xb0+y,OLED_CMD); OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD); OLED_WR_Byte

3.2K31

Linux驱动之SPI子系统剖析

I2C选择总线上挂接的一个从设备是使用从地址来区分的,而SPI采用的是CS片选线 SPI子系统框架 SPI核心层: drivers/spi/spi.c SPI总线驱动层(主机控制器驱动层):drivers.../spi/spi_s3c24xx. c SPI设备驱动层:drivers/spi/spidev.c (内核提供的SPI通用设备驱动) Linux中的主从模式的总线子系统采用的是同一种分离思想,其分离的具体策略大同小异...具体的分离策略详细分析可参考Linux驱动之I2C子系统剖析中内核对I2C子系统框架的阐述。笔者在这与I2C子系统类比,列出数据结构名。...spi_message 源码分析 由于子系统架构与I2C等总线类似,所以不会在一些重复部分展开,具体分析可以参考的Linux驱动之I2C子系统剖析中的分析方法。...SPI总线驱动层 SPI的控制器驱动,即总线驱动层位于drivers/spi/spi_s3c24xx. c中,从init函数开始分析。

4.3K10

Linux SPI-NAND 驱动开发指南

文章目录 Linux SPI-NAND 驱动开发指南 1 概述 1.1 编写目的 1.2 适用范围 1.3 相关人员 3 流程设计 3.1 体系结构 3.2 源码结构 3.3 关键数据定义 3.3.1...1.3 相关人员 Nand 模块开发人员,及应用开发人员等 2 术语、缩略语及概念 MTD:(Memory Technology device)是用于访问存储设备的 linux 子系统。...3.2 源码结构 kernel 源码目录:linux-5.4/drivers/mtd/awnand/spinand . ├── Kconfig ├── Makefile ├── physic │   ├...├── sunxi-core.c ├── sunxi-debug.c ├── sunxi-nftl-core.c └── sunxi-spinand.h 内核目录下 `-- include `-- linux...support ​ 图 4-5: spi-1 ​ 图 4-6: spi-2 Device Drivers->DMA Engine support ​ 图 4-7: DMA-1 ​ 图 4-8:

3.7K50

stm32使用oled显示屏_stm32f103c8t6封装

stm32f103c8t6控制OLED显示屏 0.96寸4针OLED显示屏 IIC 蓝色 0.96寸OLED显示屏 7针SPI蓝色,6针黄蓝双色 0.96寸4针OLED显示屏 IIC 蓝色 话不多说,...0.96寸OLED显示屏 7针SPI蓝色,6针黄蓝双色 利用SPI接口显示出来的是相对比较清晰的,还有一个6针蓝黄双色显示屏也是可以用这个接线的,只是6针那个少了一条CS,也就是片选。...这6针和7针显示屏我也是买淘宝这家店的,下面附上这个显示屏链接:0.96寸OLED显示屏 7针SPI蓝色,6针黄蓝双色 附上显示屏与stm32的接线: // GND 电源地 // VCC 3.3v电源...链接:0.96寸OLED显示屏 7针SPI蓝色,6针黄蓝双色 注意:这款显示屏是128×64的,在代码中修改的时候,注意不要超过显示屏的最大范围。...假如你想要修改显示屏的文字,字母,数字,可使用以下的取模软件:OLED取模教程 最后我再附上OLED的新手使用手册,个人认为对刚刚接触OLED显示屏的人来说是非常有用的 链接:0.96寸OLED使用文档

1.2K20
领券