你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何STM32的OLED显示屏进行操作?

[复制链接]
攻城狮Melo 发布时间:2023-3-29 18:12
简介( t' E% f3 C- s( E4 _- F
OLED主要涉及SPI协议/IIC协议,汉字点阵编码原理等知识,在这里且先不谈,这个系列主要讲运用,尽量减少文本的书写。本文利用STM32RCT6操作七针OLED显示屏,工程代码会分享出来,可以自行修改。主要是掌握运用,怎么修改代码能显示自己设置的内容,怎么移植到其他同系列芯片上面。至于模块原理,可以查看相关资料,或者上网查资料,因为写原理方面的文章进度较慢,也不适合零基础的人,所以先写运用系列,再写原理系列。0 H6 E  f% }3 e
: ^+ {5 k: H0 ~; m
由于时间有限,这里先直接利用代码在单片机上面测试,注意显示的内容与函数调用的关系,要知道为什么会这样,如果要修改显示的内容,怎么去修改。' [  Z% ~9 I" V. h5 C+ s) D

. I$ U$ ~( {- s% W# @) n5 y0 C

* p4 A" @* J* ^7 c! V, s8 o1.代码测试
8 O: e9 w( @) f% \硬件环境:(STM32RCT6 + 七针0.96寸OLED显示屏)5 y! r% J/ k+ z) b; y& m
STM32与OLED连线# |2 ~1 H5 b. J3 A# e+ u# E

. v8 R  g* `& l$ M- c% o
38d68e1438094a8b9f757d24fe3d00c0.png 1 G% o. g$ H' P
4 C1 Y( b) E0 F1 G" f
, d0 G7 P& I, [. _* ~# Y0 i% l6 e& S# u
主函数代码  `+ q& r5 x2 {4 ]

( a' E# A" `. n: D" K* x/ T$ m- M
9a39971433954180922f00a4ea3ea115.png
' h. j2 }0 |! X3 z( M& |9 @$ m6 W, K9 p0 O

  Y$ w/ m% Q- `6 L2 p1 S; N7 P8 R5 y实物测试图
/ f9 h" d5 B  E& r( g+ {4 y; n4 P7 C
. o* R. @! ]0 c& v. Z
3a4a778550ef47828f6fc38856d1e83f.png 3 \8 r3 F$ ]# P. w9 J

* N' a$ y; P% R/ X5 K3 e如果能成功显示出来,说明软件硬件环境没问题,接下来是修改显示内容。0 o- Y2 F- c) ^6 A* ?8 E
# B/ B2 a  X, u6 W2 g% s9 r

6 U6 Q2 n/ S0 D: {$ x& h2.修改显示内容
- ^' F( V+ X5 Z: C在工程中进入oledfont.h头文件,找到SHOW二维数组。通过实物图显示的内容来看,每个汉字都是许多的十六进制组合成的,那么如何得到每个汉字的模,这就需要取模工具。
# k$ @3 ?& x' S
显示汉字程序
- N* w* A# w& q5 W) g" q5 y* ]- c0 w
2a93ae40e2674996802f4075a421d499.png
/ G: n% O2 n# _- {2 k" w! i

' C* R5 \) u& W$ w取模工具操作图
5 o. M2 K" l, A6 a  k  [
5 O, V2 L+ p% o# p. [" M
89be776646ea4e0e8241bae17a798a2c.png
2 m& M# P1 K& q: K- X
3 n2 t% |* P( z  ]# I* r
取模工具主要操作就行在指定的地方输入自己想要显示的汉字,图中是无人机协会,然后生成字模,得到下面的字模,将下面的字模内容复制到oledfont.h头文件中的SHOW二维数组中,效果如图显示汉字程序所示。
* ^; q% h  A& S+ N! TOLED_ShowCHinese函数功能如图主函数所示。4 \$ U, r5 K& x* M1 R+ v  F

  a( s/ D8 x. N! V  N) `
第一个参数代表汉字的纵坐标,  v8 ^( m6 I! x
第二个参数代表汉字的横坐标,
. p8 P$ l2 ?7 }5 }/ {第三个参数代表具体的汉字,由SHOW二维数组得来。* t5 Y( i9 E2 B& O
. v$ d* B; _  k8 ~4 Z8 R3 R0 j
95655f04ec1b4650839de1f96f77c13a.png
9 w# @4 z3 S+ P- q3 ~
4 t; E8 e( Y! V* `9 s在程序中调用这个函数传入相应的参数,然后就可以在指定的地方显示指定显示的汉字,可以自己修改参数,调整汉字显示得位置。
8 q7 S3 x; J9 u6 L, I6 [# `* W( {- A" S- n) q
3.显示字符串" u6 a5 }; V- Z; ], z) k

8 O, t& Z+ |" @5 _6 t( ]$ F
0e931185735544f38557b6289ffdf895.png ( u$ \9 P" t1 p8 N7 A4 t. Q
7 p4 Z$ p6 P$ e! c
显示字符串函数主要是显示数字、字母和其他符号。显示汉字的步骤比较多,显示字符串比较方便,直接调用OLED_ShowString函数就行。如图2-4所示,前面两个参数代表字符串的位置,最后一个参数代表显示的字符串。
. A: E" p7 z( C8 P3 M, H( V
1 P8 _9 u: E/ |/ g3 k
4、总结:
4 ]7 @/ I2 r% R7 g根据代码修改难度不大,先掌握OLED的运用,然后再渐渐去了解原理。因为IIC协议和SPI协议在嵌入式中非常重要,可以先用实物测试,分析代码,通过现象去分析原理。
4 x8 E% v7 h$ s————————————————1 x. G, {4 E& E
版权声明:嵌入式开发体系
! z! R! u7 M$ M4 P  G" K" V如有侵权请联系删除! e2 R8 J% x7 @* n# ?
5 H/ x+ `/ D& r# f* q9 o

( B: z! z; ^) i( F. Y7 Y$ K  U" _8 W& W5 Z6 _9 x9 V, }# m
收藏 评论1 发布时间:2023-3-29 18:12

举报

1个回答
y369369 回答时间:2023-8-10 10:29:05
学习了! t) F6 ]0 ^. c: c

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版