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

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

[复制链接]
攻城狮Melo 发布时间:2023-3-29 18:12
简介" m; R3 P0 S" G0 E6 Y. M
OLED主要涉及SPI协议/IIC协议,汉字点阵编码原理等知识,在这里且先不谈,这个系列主要讲运用,尽量减少文本的书写。本文利用STM32RCT6操作七针OLED显示屏,工程代码会分享出来,可以自行修改。主要是掌握运用,怎么修改代码能显示自己设置的内容,怎么移植到其他同系列芯片上面。至于模块原理,可以查看相关资料,或者上网查资料,因为写原理方面的文章进度较慢,也不适合零基础的人,所以先写运用系列,再写原理系列。
4 W# S% X0 V- H9 ]% r3 X, I

/ _* V- D( k! C' B: T由于时间有限,这里先直接利用代码在单片机上面测试,注意显示的内容与函数调用的关系,要知道为什么会这样,如果要修改显示的内容,怎么去修改。
; |) C$ Q3 I; D
- D. r" E- \, k: H( ^4 Y' z

4 b# J$ x" J' K. d+ T1.代码测试* I, K9 a5 G4 t/ J/ D% z0 |: h
硬件环境:(STM32RCT6 + 七针0.96寸OLED显示屏)
8 c8 e# h4 y( f  R+ K7 M% y" BSTM32与OLED连线3 C. h8 O# x1 ?3 g7 Y5 ?

3 x9 J/ K. C% _
38d68e1438094a8b9f757d24fe3d00c0.png
# ], B4 n" Y3 z8 U0 u& ^7 E: H- M( X) r4 R

- I. r- Y3 e# `' T主函数代码
. t& a+ g# Y1 V+ R; m9 s) n
5 s- I, }. a8 L& I
9a39971433954180922f00a4ea3ea115.png
% ~& C+ j( ]; w  v& F3 ^
% y7 @9 H% D0 O2 a' P5 y4 p8 d3 a
1 Q8 m& t8 C0 ?- f5 d. H3 o
实物测试图
5 h0 Q' \+ s" K5 v+ H
9 _. k2 e$ H% Y  u0 M9 f) V
3a4a778550ef47828f6fc38856d1e83f.png
6 o) N  ?; [! n$ G, d: W' ^

6 {5 a. U1 _  c# ~: \如果能成功显示出来,说明软件硬件环境没问题,接下来是修改显示内容。
0 Z: C  e& D4 z- J  a
; j1 d: W5 p6 w

; c: C  F! @2 H. Y- Z4 X2.修改显示内容
% O1 c- u. ]2 t/ D  x9 f在工程中进入oledfont.h头文件,找到SHOW二维数组。通过实物图显示的内容来看,每个汉字都是许多的十六进制组合成的,那么如何得到每个汉字的模,这就需要取模工具。2 s0 f! K9 S1 a; J1 ~' X
显示汉字程序
% Z' H( M: N+ Y. F. P/ S5 f
( E8 N4 N! o# Y/ M2 V8 R- m. J
2a93ae40e2674996802f4075a421d499.png 9 M- z! h+ ~+ @2 t: {8 G8 Y' @
: S" @% Y) S) b- I% m& u# ?
取模工具操作图/ k# o4 {- r, g" b, J7 h
4 k' X! x, @1 ^6 b7 N
89be776646ea4e0e8241bae17a798a2c.png ' O4 u# k, D2 k8 d0 ]  `' G

9 |$ S8 F7 K9 i* \$ c取模工具主要操作就行在指定的地方输入自己想要显示的汉字,图中是无人机协会,然后生成字模,得到下面的字模,将下面的字模内容复制到oledfont.h头文件中的SHOW二维数组中,效果如图显示汉字程序所示。
3 h2 |* \7 ]: b& A0 S; r( tOLED_ShowCHinese函数功能如图主函数所示。
  S, O3 {/ a1 c3 I0 J
+ u1 E- C- K- ?( L" c0 c
第一个参数代表汉字的纵坐标,  w/ }& a% W- \  t
第二个参数代表汉字的横坐标,
9 Z, s& w! n5 d# H( ~6 Y, \第三个参数代表具体的汉字,由SHOW二维数组得来。! d, p6 ~, }. Y& N" p; r

. z4 s' B% ?7 f# E1 g" k
95655f04ec1b4650839de1f96f77c13a.png
* \. J* r' W4 i) H" @# ^5 H5 `5 C1 `4 u4 Z% S
在程序中调用这个函数传入相应的参数,然后就可以在指定的地方显示指定显示的汉字,可以自己修改参数,调整汉字显示得位置。" M7 f9 ]  ~$ S7 K7 ~  q
$ d4 N. Y5 r; E* ]2 g# K
3.显示字符串
* l+ i+ s$ }" }* ~) M+ p& H  f% F$ {6 J" ]. P9 {+ q( P
0e931185735544f38557b6289ffdf895.png
0 h. i1 `7 D9 t& X( o) c. r* b6 x8 A7 G9 e$ ^. \
显示字符串函数主要是显示数字、字母和其他符号。显示汉字的步骤比较多,显示字符串比较方便,直接调用OLED_ShowString函数就行。如图2-4所示,前面两个参数代表字符串的位置,最后一个参数代表显示的字符串。9 [7 @; m- S. z

$ [1 f9 \: X) d- f# b
4、总结:7 N, D0 b  E8 v3 @) {( J. }* y
根据代码修改难度不大,先掌握OLED的运用,然后再渐渐去了解原理。因为IIC协议和SPI协议在嵌入式中非常重要,可以先用实物测试,分析代码,通过现象去分析原理。
  o2 {* ^/ D. U6 j8 i; D1 s% C: R( o————————————————
* `% k# c2 h; _7 ^2 m; k版权声明:嵌入式开发体系* a/ o5 V2 a5 E1 k
如有侵权请联系删除
6 Y6 I- u5 f: A" |4 k) x# F! S: s) Z5 _9 _3 Y# \+ N
0 Q: N# E5 ^, `$ L( z/ U4 K' A, N3 o

) K5 W5 d) Q% N" i
收藏 评论1 发布时间:2023-3-29 18:12

举报

1个回答
y369369 回答时间:2023-8-10 10:29:05
学习了( v' X% G* I& C6 f9 `( u

所属标签

相似分享

官网相关资源

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