打印
[STM32U5]

NUCLEO-U575ZI-Q测评】CLion 优雅开发RT-Thread之二 驱动OLED‘

[复制链接]
207|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lulugl|  楼主 | 2023-2-26 12:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lulugl 于 2023-2-26 13:08 编辑

https://bbs.21ic.com/icview-3286554-1-1.html
在这篇帖子基础上,开始创建第一个测试工作。
在stm32U575在RT-Thread studio下面是没有开发板和芯片可选的,所以只能用keil或者IAR,或者是vscode等,但是在MacOs下,没有keil、IAR可用,当然也可以用VSCODE来写。这里向大家分享如何从零开始驱动OLED。
1、增加配置里面的I2C,来启用i2c,我们根据原理图,CN7的D15为SCL对应的是PB8,D14为SDA对应的PB9,根据管脚计算公式,计算出PB8为16*1+8=24,同理PB9为24.编辑/board文件夹下的Kconfig,增加如下内容:
        if BSP_USING_I2C
            menuconfig BSP_USING_I2C1
                bool "Enable I2C1 BUS (software simulation)"
                default y
                if BSP_USING_I2C1
                    comment "Notice: PB8 --> 24; PB9 --> 25"
                    config BSP_I2C1_SCL_PIN
                        int "i2c1 scl pin number"
                        range 1 176
                        default 24
                    config BSP_I2C1_SDA_PIN
                        int "I2C1 sda pin number"
                        range 1 178
                        default 25
                endif


        endif
2、进入图形化配置工具,配置I2C1、增加在线软件包ssd1306:
在stm32u575-st-nucleo目录下打开终端,执行scons --pyconfig图形化工具,当然也可以用scons --menuconfig


保存后退出,先加载env环境:
source ~/.env/env.sh
然后执行pkgs --update来更新ssd1306软件包。
3、等待加载完成后执行scons来构建项目。构建完成后下载到开发板。系统启动,查看串口终端如下:
[12:08:51.355] msh >help
[12:09:00.537] RT-Thread shell commands:
[12:09:00.537] reboot           - Reboot System
[12:09:00.537] pin              - pin [option]
[12:09:00.547]
[12:09:00.547] clear            - clear the terminal screen
[12:09:00.547] version          - show RT-Thread version information
[12:09:00.547] list             - list objects
[12:09:00.557] help             - RT-Thread shell help.
[12:09:00.557] ps               - List threads in the system.
[12:09:00.557] free             - Show the memory usage in the system.
[12:09:00.567] ssd1306_TestAll  - test ssd1306 oled driver
[12:09:00.567]
[12:09:00.567] msh >list device
[12:09:13.854] device           type         ref count
[12:09:13.854] -------- -------------------- ----------
[12:09:13.865] i2c1     I2C Bus              0      
[12:09:13.865] uart2    Character Device     0      
[12:09:13.865] uart1    Character Device     2      
[12:09:13.865] pin      Pin Device           0   


看到i2c总线已要加载成功。打OLED屏的SDA接到开发板的D14,SCL接到D15.执行ssd1306_TestAll就可以看到OLED屏已经驱动成功。

使用特权

评论回复
沙发
tifmill| | 2023-5-14 20:39 | 只看该作者
向SSD1306写数据时,采用的办法是在STM32的内部建立一个OLED的 GRAM(共 128*8 个字节),在每次修改的时候,只是修改 STM32 上的 GRAM

使用特权

评论回复
板凳
lulugl|  楼主 | 2023-5-15 08:03 | 只看该作者
tifmill 发表于 2023-5-14 20:39
向SSD1306写数据时,采用的办法是在STM32的内部建立一个OLED的 GRAM(共 128*8 个字节),在每次修改的时候,只 ...

感谢大佬的关注!

使用特权

评论回复
地板
1988020566| | 2023-5-18 10:37 | 只看该作者
stm32oled屏幕残影是怎么造成的呢

使用特权

评论回复
5
lzmm| | 2023-5-18 10:50 | 只看该作者
oled,屏幕哪个好               

使用特权

评论回复
6
minzisc| | 2023-5-18 11:15 | 只看该作者
LED屏幕显示一个点的思路              

使用特权

评论回复
7
abotomson| | 2023-5-18 14:07 | 只看该作者
怎么用stm32cubemx配置oled显示的参数

使用特权

评论回复
8
earlmax| | 2023-5-18 15:35 | 只看该作者
U575ZI与四针oled怎么连接

使用特权

评论回复
9
cashrwood| | 2023-5-18 16:01 | 只看该作者
可以实现OLED多级菜单UI吗?

使用特权

评论回复
10
lulugl|  楼主 | 2023-5-19 09:03 | 只看该作者
cashrwood 发表于 2023-5-18 16:01
可以实现OLED多级菜单UI吗?

这个可以吧,没有去偿试。

使用特权

评论回复
11
LLGTR| | 2023-5-19 13:41 | 只看该作者
你这是用CLion还是用VSCode?

使用特权

评论回复
12
yorkbarney| | 2023-5-21 10:14 | 只看该作者
stm32驱动oled如何实现反色显示表示选中功能

使用特权

评论回复
13
ccook11| | 2023-5-21 10:30 | 只看该作者
oled,屏幕哪个好               

使用特权

评论回复
14
xiaoyaodz| | 2023-5-21 12:49 | 只看该作者
stm32如何实现1~10数字滚屏

使用特权

评论回复
15
usysm| | 2023-5-21 12:58 | 只看该作者
U575ZI与四针oled怎么连接

使用特权

评论回复
16
51xlf| | 2023-5-21 13:38 | 只看该作者
stm32oled屏幕残影是怎么造成的呢

使用特权

评论回复
17
updownq| | 2023-5-21 13:48 | 只看该作者
LED屏幕显示一个点的思路              

使用特权

评论回复
18
adolphcocker| | 2023-5-21 15:20 | 只看该作者
可以实现OLED多级菜单UI吗?

使用特权

评论回复
19
dspmana| | 2023-5-21 16:58 | 只看该作者
怎么用stm32cubemx配置oled显示的参数

使用特权

评论回复
20
yorkbarney| | 2023-5-21 17:05 | 只看该作者
stm32如何才能在液晶屏上让数字左右移动

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

135

主题

666

帖子

6

粉丝