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

基于STM32的OLED显示屏经验分享

[复制链接]
攻城狮Melo 发布时间:2023-3-21 18:14
简介8 e1 A9 M$ ?- F% i& V& t
OLED主要涉及SPI协议/IIC协议,汉字点阵编码原理等知识,在这里且先不谈,这个系列主要讲运用,尽量减少文本的书写。本文利用STM32RCT6操作七针OLED显示屏,工程代码会分享出来,可以自行修改。主要是掌握运用,怎么修改代码能显示自己设置的内容,怎么移植到其他同系列芯片上面。至于模块原理,可以查看相关资料,或者上网查资料,因为写原理方面的文章进度较慢,也不适合零基础的人,所以先写运用系列,再写原理系列。
, v. H$ o  Y5 |( Z+ O5 }9 b1 w! _4 x( C# ~% Q* T
由于时间有限,这里先直接利用代码在单片机上面测试,注意显示的内容与函数调用的关系,要知道为什么会这样,如果要修改显示的内容,怎么去修改。
% _3 E/ e, T4 h. I! m3 G& H! U( U. W% L

/ g0 ^' p& Q/ w$ b( F* E4 I- J' {1.代码测试
$ k7 e: A6 F8 p1 P3 @* j6 u硬件环境:(STM32RCT6 + 七针0.96寸OLED显示屏)3 h( \) v% q+ t; U! l7 J- r
STM32与OLED连线# g8 P  a$ O4 _/ S

% \. {8 t7 ]. ?# A
38d68e1438094a8b9f757d24fe3d00c0.png ) Q. q7 n4 m# F. U1 p  R7 }

, n9 l5 p+ p# L- I8 `主函数代码
- j+ h4 s5 L0 w' d5 G6 X4 j& K+ O7 V% r; q0 k5 C5 h, i
9a39971433954180922f00a4ea3ea115.png 2 |' p' z3 u9 a0 `6 Q' t

6 o, {7 @4 u4 Q& B6 P6 _, Y

3 X# x4 F# j3 f9 Z: M实物测试图
' j8 F! D* F8 k( e6 x2 [! h
3a4a778550ef47828f6fc38856d1e83f.png
1 \% L! t( F4 G3 f- P5 F% j

9 ?! j: S+ }  N如果能成功显示出来,说明软件硬件环境没问题,接下来是修改显示内容。& Z! ?( ]' V( q0 \2 Z  h( Q

8 c$ z$ O! E  V$ d$ g2 y2 i( y

% `, R% D0 q$ |2 d% ]2.修改显示内容7 \+ e& m  t$ V  B+ S2 V
在工程中进入oledfont.h头文件,找到SHOW二维数组。通过实物图显示的内容来看,每个汉字都是许多的十六进制组合成的,那么如何得到每个汉字的模,这就需要取模工具。& d+ w% ?' e) r5 J: c
4 N: }" U3 I  l- E6 E* N
显示汉字程序; I7 m# E1 P3 v0 q
* @( D9 a3 C3 y, }/ _! h9 P  ^% ^
2a93ae40e2674996802f4075a421d499.png
; x- y% ?# C7 ]

7 G" r; `2 s1 s0 J% {. g) D6 X取模工具操作图
) `6 ?, w4 I, @3 O/ N7 O
) G+ E) m" F: \/ R( e: D1 C# i9 h: |
89be776646ea4e0e8241bae17a798a2c.png
5 B. F& q: f8 x; k0 @

+ @$ @' P. o$ F' O6 a- g取模工具主要操作就行在指定的地方输入自己想要显示的汉字,图中是无人机协会,然后生成字模,得到下面的字模,将下面的字模内容复制到oledfont.h头文件中的SHOW二维数组中,效果如图显示汉字程序所示。
  O0 g6 T3 W8 g3 T# r; Q( L3 mOLED_ShowCHinese函数功能如图主函数所示。$ l" e: f. D+ I4 {2 y8 b
" d7 X" J2 w0 t8 Y  o/ P
第一个参数代表汉字的纵坐标,
' W) H1 d; |2 q. j. n% S: S5 j第二个参数代表汉字的横坐标,7 j  P/ F+ E+ e9 g4 N
第三个参数代表具体的汉字,由SHOW二维数组得来。0 b$ U) F) K, m' S" B( A

2 y  S0 V& a7 C7 `+ o9 X
95655f04ec1b4650839de1f96f77c13a.png
3 m" U/ g* I8 j
# A& t0 h4 V- Y8 i' ~

( y- }6 l6 Y; ]8 K9 _9 G在程序中调用这个函数传入相应的参数,然后就可以在指定的地方显示指定显示的汉字,可以自己修改参数,调整汉字显示得位置。$ y* i& j4 v: y/ ^# ~
6 k( W1 ~+ ~; P# }3 w3 ^. x+ J- Y
3.显示字符串
) k4 P1 J2 |5 S0 C
- U6 n' a8 ~7 }: n, V' s9 s
0e931185735544f38557b6289ffdf895.png 9 }! X! {: P  C( u
8 e$ t% `; t3 S  x/ a
显示字符串函数主要是显示数字、字母和其他符号。显示汉字的步骤比较多,显示字符串比较方便,直接调用OLED_ShowString函数就行。如图2-4所示,前面两个参数代表字符串的位置,最后一个参数代表显示的字符串。
$ k+ ~2 N0 T+ R$ M: [# M9 `1 s' d6 n, P2 f7 R; K( {$ O3 A: ?

; C' ?/ k- a4 ~: _4、总结:
" l4 e1 g" h. m0 H根据代码修改难度不大,先掌握OLED的运用,然后再渐渐去了解原理。因为IIC协议和SPI协议在嵌入式中非常重要,可以先用实物测试,分析代码,通过现象去分析原理。
4 |6 O8 `) I$ N————————————————
- C" g& [8 E9 {1 l. f' _7 G- Z版权声明:嵌入式开发体系, f# s* Q* D5 M6 i  |
如有侵权请联系删除& r0 A8 l$ g7 n" r" W" K
4 d1 u1 L: _. B9 Q# [
赞 收藏 评论3 发布时间:2023-3-21 18:14

举报

3个回答
STMWoodData 回答时间:2023-8-10 10:12:37

学习一下OLED显示

shenxiaolin_mai 回答时间:2023-8-10 10:17:45
感谢分享,操作步骤很详细!
lospring 回答时间:2023-8-10 10:18:23

好用,软件也应该分享一下

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版