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

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

[复制链接]
攻城狮Melo 发布时间:2023-3-21 18:14
简介/ U& m6 D) }; B$ W: z" H& A
OLED主要涉及SPI协议/IIC协议,汉字点阵编码原理等知识,在这里且先不谈,这个系列主要讲运用,尽量减少文本的书写。本文利用STM32RCT6操作七针OLED显示屏,工程代码会分享出来,可以自行修改。主要是掌握运用,怎么修改代码能显示自己设置的内容,怎么移植到其他同系列芯片上面。至于模块原理,可以查看相关资料,或者上网查资料,因为写原理方面的文章进度较慢,也不适合零基础的人,所以先写运用系列,再写原理系列。
$ u' s- _, W8 E+ W9 W  X6 x
( n' O+ E: e/ S3 G3 n由于时间有限,这里先直接利用代码在单片机上面测试,注意显示的内容与函数调用的关系,要知道为什么会这样,如果要修改显示的内容,怎么去修改。( h6 J9 `! a# ~3 \% Q2 m

+ C8 Z/ o) V4 m$ j) T1 W$ {% w

4 W2 Q; l8 ~5 Z1 U6 v1.代码测试+ @  U3 C4 y7 k/ h! |
硬件环境:(STM32RCT6 + 七针0.96寸OLED显示屏)1 ^2 b- ~0 q. u$ W
STM32与OLED连线: Y$ H9 y; t1 ^5 @

+ {0 H1 @6 Q0 e  E
38d68e1438094a8b9f757d24fe3d00c0.png " \% g$ k! B! [

; h  P5 e+ k0 r+ j# {主函数代码
, V2 m' R- @8 f5 K7 [" M! h& z+ p0 a6 p- {$ _- T
9a39971433954180922f00a4ea3ea115.png
  J5 d1 N. u$ j0 B$ u' j- @; A
, G6 y+ J9 Y3 Y# q

2 L" h2 c* o0 K! Q5 o( w+ U5 {实物测试图
1 }% y) D! @- i+ v; }1 ~$ _. S
3a4a778550ef47828f6fc38856d1e83f.png 7 ]% T$ E. P7 A' r5 E2 s4 U/ E

, |$ F! E$ V/ O  M如果能成功显示出来,说明软件硬件环境没问题,接下来是修改显示内容。6 p& T/ I) l5 k. k" D
' X9 l' T& Y! k+ d

( T/ B" |7 a+ S9 [9 w2.修改显示内容
4 z3 z+ {8 R# ~# L  ]在工程中进入oledfont.h头文件,找到SHOW二维数组。通过实物图显示的内容来看,每个汉字都是许多的十六进制组合成的,那么如何得到每个汉字的模,这就需要取模工具。, ~/ x! o8 |1 m' n: W

& A: {+ q, \) |5 e, P. h" }
显示汉字程序3 H1 S3 ~9 X9 E3 m

9 w5 `% K% l+ T" a7 s
2a93ae40e2674996802f4075a421d499.png + z* {/ `3 u% ~! W

# \/ X2 l- J/ L9 }# M8 Y1 W取模工具操作图
5 w. }* _, {; M( m  z0 c
" ~8 e( |! N2 g3 I3 _/ B; \
89be776646ea4e0e8241bae17a798a2c.png - L* D. C0 X/ Z7 R* Y, t* F5 E3 z

, H; p: U& A" ]取模工具主要操作就行在指定的地方输入自己想要显示的汉字,图中是无人机协会,然后生成字模,得到下面的字模,将下面的字模内容复制到oledfont.h头文件中的SHOW二维数组中,效果如图显示汉字程序所示。
/ G: w4 f3 Q3 T! lOLED_ShowCHinese函数功能如图主函数所示。" {0 N3 w* Z# H4 g
- l6 L- B  B( {9 X' Q( D4 {
第一个参数代表汉字的纵坐标,% T. B0 P( w  ~. H0 O0 K
第二个参数代表汉字的横坐标,- ^- a5 G* A: T/ x5 k8 K
第三个参数代表具体的汉字,由SHOW二维数组得来。! a3 y0 q3 G+ E

3 j9 o8 y& l0 l  z, s0 G
95655f04ec1b4650839de1f96f77c13a.png & B+ q. L6 W2 l$ ?. n: f, F; E! P

# o$ ]9 q# y! k

# J- U+ g3 S, V! `% m在程序中调用这个函数传入相应的参数,然后就可以在指定的地方显示指定显示的汉字,可以自己修改参数,调整汉字显示得位置。2 A% m, ]' ^. u; E
1 z" T- p, w# w+ ~4 l: f6 i
3.显示字符串$ x# F/ @* E' [4 ^8 j0 l. b) M9 A% [
/ b0 j; F3 U0 O, Y. r7 c8 |$ ^" W
0e931185735544f38557b6289ffdf895.png 0 F0 A8 Q+ u# `$ V
; q0 w: o& d- O
显示字符串函数主要是显示数字、字母和其他符号。显示汉字的步骤比较多,显示字符串比较方便,直接调用OLED_ShowString函数就行。如图2-4所示,前面两个参数代表字符串的位置,最后一个参数代表显示的字符串。
3 M/ U1 r$ w/ T6 `0 I
0 O& U9 y' b2 h, b+ M5 h
. x4 o# k. E, x0 m5 A
4、总结:% K- T  {, L3 b1 X# O1 |2 v
根据代码修改难度不大,先掌握OLED的运用,然后再渐渐去了解原理。因为IIC协议和SPI协议在嵌入式中非常重要,可以先用实物测试,分析代码,通过现象去分析原理。
1 k1 Z4 L9 {! n. P- D9 K( v————————————————& O5 `9 F! u/ f& ~' g4 V; ~" R6 Q
版权声明:嵌入式开发体系0 e# }' Q. R9 V) r2 m! K
如有侵权请联系删除
7 t5 ~6 L; k! A* q5 C3 d4 p
+ R  x, H9 R2 }' h
收藏 评论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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版