|
+ ^- {2 ^% O9 D" L 麻雀虽小,五脏俱全之【STM32F042 Nucleo32】评测# g" u0 d! m! J9 d5 D , b" N. I* x4 ~' t4 U9 G (续)STM32F042评测之:玩玩串口+GPIO 9 C7 T8 z+ c( G3 M: v4 c& B/ G6 ^ 晚上回到家,小睡一下觉得无聊,试试用 STM32F042来玩玩OLED,硬件平台当然是我们的Nucleo32主角了。# Q! k: g2 ~# z; c OLED驱动方式有很多,而我手上的OLED接口均为SPI,SPI速度快,占用IO少,比IIC速度快许多,适合刷屏。 关于SPi,为了省时间,我么仍然用CubeMx软件生成。 ; b0 w% [( g" O% p$ ^7 G; n 首先,打开我们之前的工程。按照之前的步骤在Pin界面上配置外设,由于我们的OLED具有SPI加普通IO组成, 所以,我们打开SPI,模式选用Transmit Only Master,因为OLED的SPI模式下是没法进行读取的,所以我们也不需要! i9 y, y( O# @% G8 \) b H 设置双工了,直接发送即可,另外,我们还得设置软件SPI_CS,OLED_REC, OLED_DC这3个控制IO,均设置为Output,8 M! N, b! j. S! V( ~) D 具体请看下图:( f9 n- z: J* ^& @( M
然后,我们选中Configuration,并且双击SPI1,设置DataSize为8bit,First Bit为MSB First(高位在前),分频系数为4,即# V/ c# ]& }2 x# ^ SPI时钟速度为12Mbit/s, Clock Polarity(CPOL)为Low,CLOCK Phase(CPHA)为1 Edge,具体请看下图:* A' o7 I, S- [8 u 然后点击Apply, OK。
然后我们就可以生成工程了。 8 g, w$ _& x9 v, e( e6 s6 Y l& S 最后,我们把写好的OLED驱动文件加进工程,修改GPIO和OLED写数据命令函数即可结束:* ~- s+ [/ j/ ^4 S# S& V 关于详细修改,请看附件工程!
最后,我们把OLED驱动起来看看效果:) l$ J7 m$ z; \7 w; P! h
最后的最后,源代码工程附上:编译IDE:MDKV5 因为附件的OLED代码是完全由楼主自己想自己写出来的,所以可能写得比较难懂,没有其他的好看,所以喜欢的用自己的4 r8 c5 K# C' @) c 驱动文件代替即可
Demo.rar
(833.68 KB, 下载次数: 288)
|
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
小白也能明白的STM32的低功耗与唤醒机制
STM32系统中2种数据掉电保护的方法
分享STM32F051中文参考手册(重制书签版)
AI工具训练营-用ChatGPT解决HID Keyboard实现的问题
STM32固件库分享,超全系列整理
STM32小白入门指南:从基础到OTA实现方案
STM32超详细学习笔记
新手必看!STM32单片机应该怎么学?
如果你解决了这些问题,就可以直接学STM32
微信公众号
手机版
请问,前面的帖子 怎么找不到呀 ?