工作记录1:spi外设--oled屏
2023-12-15 12:10:02
实习到转正工作一年,基本上干的都是外设移植主控上或者项目代码换主控移植,因为项目需求也有蓝牙的相关知识接触及应用,其中用到的iic和spi次数比较多,整理一下实用的东西分几篇文章写,目前没想好写多少。
以下几篇文章都是从刚入嵌入式的小白视角编写,表述可能有点白话还请见谅。
OLED
一般的oled有iic、spi两种连接方式。我拿到的是0.96寸7针的屏,因此拿这个举例,当然也有iic的,其他的博客上也写了很多,比spi的要清楚。
spi的实物连线的比iic的要混乱,oled屏的型号很多,找的博客也写的七七八八,没直接说清楚,我也是结合了百度和一些博主的说明理清哪些引脚的作用才连上。
下图是我手中的oled:
其中的DO,D1相当于时钟线和接收的数据线(SCK,MOSI)。
图中的oled除了正负极之外连线(包括D0,D1,RES,DC,CS)都大概写一下,
因为当时通过主控芯片的手册判断出和串口的RX/TX、iic的SCL/SDA有类似功能,所以能够连上,(oled屏作为从机,不需要MISO连接)
D0 | SCK(芯片内部的时钟) |
D1 | MOSI |
RES | 重置oled |
DC | / |
CS | 片选线 |
以下贴的代码是剔除了移植主控所需的节点写的。
oled的初始化需要的是 CS,SCK,MOSI,DC设置成推挽输出。(其中的CS,SCK,MOSI应该在芯片的数据手册里面有写,另外的DC要自己设置),RES不用初始化,且RES的连线也自己定。
//sck,cs,dc
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
RES只有在清除屏幕或者初始化时候才用得到。
基本上连线结束之后就能够通过一般的oled代码进行移植操作
接下来继续整理
文章来源:https://blog.csdn.net/m0_58766702/article/details/134989560
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!