0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第七章OLED显示“Hello”

撞上电子 2023-06-20 10:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第一节IIC基础

IIC最重要的就是时序,主要如下:

1. 起始条件(Start Condition):

-I2C通信开始时,主设备将SDA从高电平切换到低电平时,SCL处于高电平状态。

-起始条件至少需要持续一个SCL周期。

2. 地址传输(Address Transmission):

-主设备发送设备地址和读写位(R/W)位来选择特定的从设备。

-地址传输是以一个起始位开始的,表示数据的开始。

-7位地址模式:主设备发送7位设备地址,最后一位是R/W位,指示读取(R=1)或写入(W=0)操作。

-10位地址模式:主设备先发送第一个字节的高6位,然后发送一个仅包含从设备地址的位(R/W位)的起始位,最后发送第一个字节的低位。

3. 应答位(ACK/NACK):

-在每个字节的传输之后,接收设备需要提供一个应答位(ACK或NACK)。

-主设备接收到每个字节的最后一个位后,会释放SDA线,接收设备通过将SDA线拉低来提供应答位。

-如果接收设备成功接收到数据,则提供ACK(拉低SDA线),否则提供NACK(保持SDA线为高电平)。

4. 数据传输(Data Transmission):

-主设备发送数据字节给从设备,每个字节由8个数据位和一个应答位组成。

-数据传输是以起始位开始的,并在每个SCL周期传输一个位。

-每个数据位都在SCL的上升沿或下降沿传输。

-数据传输的最后一个位由接收设备提供应答位。

5. 停止条件(Stop Condition):

-主设备将SDA从低电平切换到高电平时,SCL处于高电平状态。

-停止条件至少需要持续一个SCL周期。

-停止条件表示I2C通信的结束。

6. 时钟速率(Clock Speed):

-I2C总线的时钟速率由主设备控制。

-标准模式下,时钟频率为100 kHz;快速模式下,时钟频率为400 kHz。

-高速模式和超高速模式下,时钟频率更高。

第二节 硬件解读

88ff9cfa-0f0e-11ee-a579-dac502259ad0.png

上图就是物联网开发板上面的OLED模块的原理图,哪里来的?为什么是这样的?请大家打开改OLED的数据手册就知道了,如下图:

89087032-0f0e-11ee-a579-dac502259ad0.png

这个就是数据手册提供的原理图,是不是和蓝桥杯物联网开发板上面的原理图一模一样?当芯片厂家提供了参考电路设计图,我们工程师只需要把它COPY就可以啦。

需要注意的是OLED模块的供电引脚是A_3V3,如下:

8912c640-0f0e-11ee-a579-dac502259ad0.png

而A_3V3引脚又是同过STM32L071KBU6来控制的,如下图:

89191d74-0f0e-11ee-a579-dac502259ad0.png

通过上图看出来,当PB5为低电平时,三极管SI2301导通,A_3V3得电,OLED工作;反之,三极管SI2301不导通,A_3V3失电,OLED熄灭。

说完OLED的电源引脚,来看看OLED的IIC引脚,如下:

891fa4d2-0f0e-11ee-a579-dac502259ad0.png

看得出来STM32与OLED引脚的关系:

STM32引脚

OLED引脚

PA8

I2C3_CS

PB4

I2C3_SDA

第三节 CubeMX配置

第一步:配置PB5为输出模式,并初始化为低电平,使得OLED可以正常工作,不要忘记和6处一样使用用户标签哦。

8926e92c-0f0e-11ee-a579-dac502259ad0.png

第二步:配置OLED的I2C3,如下图:配置完后PA8和PB4会自动变成绿色。

892d2512-0f0e-11ee-a579-dac502259ad0.png

第四节 MDK代码

第一步:找到比赛提供的代码驱动,将oled.h和font.h粘贴到“项目名/Core/Inc”文件夹中,如下图:

8939673c-0f0e-11ee-a579-dac502259ad0.png

第二步:找到比赛提供的代码驱动,将oled.c粘贴到“项目名/Core/Src”文件夹中,如下图:

894387bc-0f0e-11ee-a579-dac502259ad0.png

第三步:按照如下图将oled.c文件添加到项目中,如下图:注意oled.c文件的目录,在“项目名/Core/Src”中,不要选到其他位置,否则编译过程中会报错。

894b7c9c-0f0e-11ee-a579-dac502259ad0.png

第四步:添加之后会看见oled.c,如下图:然后改点“Colse”点“Colse”,改点“OK”点“OK”。

89529630-0f0e-11ee-a579-dac502259ad0.png

第五步:可以看见项目栏的多了一个oled.c文件,如下图:

895b9a32-0f0e-11ee-a579-dac502259ad0.png

第六步:编译代码,发现有一个错误,如下图:原来是OLED_Write函数有问题。这个函数就是需要我们手写的OLED的驱动。

896454e2-0f0e-11ee-a579-dac502259ad0.png

第七步:编写OLED_Write函数,如下图:

896c3ab8-0f0e-11ee-a579-dac502259ad0.png

第八步:添加头文件,如下图:

8972c1ee-0f0e-11ee-a579-dac502259ad0.png

第九步:编写OLED相关代码。如下图:

897903ec-0f0e-11ee-a579-dac502259ad0.png


第五节 实验现象

注意:

1,下载程序的时候,请选择A开发板。

现象:OLED第一行显示”Hello”。

来源:撞上电子微信公众号

版权:东莞市东城墨竹公子电子工作室

日期:2023.06.07

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED
    +关注

    关注

    121

    文章

    6331

    浏览量

    232519
  • IIC
    IIC
    +关注

    关注

    11

    文章

    308

    浏览量

    40377
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【瑞萨RA6E2】开箱、Hello World(串口+OLED

    ,完成以下两个实验: 串口打印 Hello World OLED 12864 显示显示 Hello World 【串口打印】 使用 FPS
    发表于 11-09 07:49

    小马智行第七代自动驾驶车辆上线运营

    小马智行第七代Robotaxi,今起上线运营!11月起,第七代极狐阿尔法T5及埃安霸王龙Robotaxi将正式在广州、深圳等地投入运营,用户只需打开“小马智行”同名App或小程序,点击“呼叫小马”,就能体验到功能和体验全新升级的第七
    的头像 发表于 11-07 11:35 1221次阅读

    京微齐力入选第七批专精特新“小巨人”企业

    2025年10月20日,工业和信息化部完成了第七批专精特新“小巨人”企业的审核公示工作。京微齐力(北京)科技股份有限公司凭借其在专业领域内深厚的技术积累、持续的创新能力和卓越的市场表现力,成功入选第七批国家级专精特新“小巨人”企业。
    的头像 发表于 10-23 17:45 651次阅读

    【RA4M2-SENSOR】开箱、Hello World(串口+OLED

    ,完成以下两个实验: 串口打印 Hello World OLED 12864 显示显示 Hello World 【串口打印】 使用 FPS
    发表于 10-16 00:03

    【RA4E2开发板评测】开箱、Hello World(串口+OLED

    ,完成以下两个实验: 串口打印 Hello World OLED 12864 显示显示 Hello World 【串口打印】 使用 FPS
    发表于 10-13 21:33

    【「DeepSeek 核心技术揭秘」阅读体验】--全书概览

    DeepSeek对人工智能技术格局的一个影响 第六 DeepSeek开源技术剖析 第七章 大模型发展未来展望 全书图文并茂,对专业技术属于进行了讲解,也有对流程、框架、参数的展示,结合案例与应用方面的代入,是非常好的对DeepSeek较深入了解的书籍,后面与大家多多分享
    发表于 07-21 00:04

    【RA-Eco-RA6M4开发板评测】开箱、Hello World(串口+OLED

    文章使用 Keil 开发,完成以下两个实验: 串口打印 Hello World OLED 12864 显示显示 Hello World 首
    发表于 07-19 04:09

    雷曼光电荣获第七届“深圳工业大奖”企业奖

    近日,第七届“深圳工业大奖”名单公示,雷曼光电凭借在超高清显示领域的卓越技术实力与创新成果,成功摘得“深圳工业大奖”。这一荣誉不仅是对雷曼光电深耕工业经济、推动产业升级的充分肯定,更是对雷曼光电在大尺寸Micro LED显示技术
    的头像 发表于 07-17 17:08 716次阅读

    小马智行第七代自动驾驶车辆广深开跑

    近日,搭载小马智行第七代自动驾驶系统的广汽埃安霸王龙自动驾驶车辆,正式获得智能网联汽车道路测试牌照,在广州和深圳开启公开道路测试。这意味着小马智行第七代自动驾驶车辆在完成实验室与封闭场地的验证后
    的头像 发表于 06-11 10:54 1511次阅读

    第七届徐工国际客户节隆重开幕

    近日,徐工第七届国际客户节在“钢铁森林”璀璨灯火的映衬下隆重开幕,来自全球80余个国家和地区的2000余名客户踏浪而来。
    的头像 发表于 05-28 16:21 679次阅读

    第七章 串口通信

    本章介绍了W55MH32的串口通信,讲述了数据通信基础概念、串口通信协议和特性与功能,以及DMA在串口中用于高速数据传输场景,并进行了多种模式的程序设计与下载验证。
    的头像 发表于 05-26 17:00 759次阅读
    <b class='flag-5'>第七章</b> 串口通信

    OpenHarmony应用开发精品课程第七期来啦

    OpenHarmony应用开发精品课程第七期来啦
    的头像 发表于 04-15 14:15 505次阅读
    OpenHarmony应用开发精品课程<b class='flag-5'>第七</b>期来啦

    显示器NHD 1.9 176176UBC3显示hello world”,怎么不起作用?

    _DC、dc_config); GPIO_PinInit(GPIO, 1, OLED_RES, res_config); oled_sendcommand(0xae);显示关闭 oled
    发表于 03-27 06:29

    Techwiz OLED应用:透明显示

    如今,透明显示器作为未来的显示技术之一已经引起了广泛的关注。特别是,使用OLED器件的透明显示器已被积极研究。TechWiz OLED的发光
    发表于 03-17 11:35

    洲明科技荣获第七届天鸽奖“年度影响力企业奖”

    近日,第七届“天鸽奖”颁奖典礼在洲明福永总部XR虚拟棚圆满落幕。
    的头像 发表于 12-17 11:05 873次阅读