嵌入式技术william hill官网
直播中

fansz

8年用户 1236经验值
擅长:制造/封装
私信 关注
[问答]

单色0.9寸OLED屏驱动在RT-Thread上移植没有显示怎么回事

前提说明:

U8G2 软件包单色0.9寸OLED屏驱动在 RT-Thread 移植到正点原子精英板,使用的是软件模拟I2C通讯

使用的硬件资源:
正点原子精英板,中景园电子1.3英寸单色OLED显示屏,I2C通讯

使用的软件资源:
MDK5、rt-thread-4.0.0版本、U8G2软件包、env_released_1.1.2工具、

移植主要过程:

()进入 BSP 根目录,打开Env控制台,在命令行模式下输入 menuconfig 命令
(
)依次选择 RT-Thread online packages —-> 、 peripheral libraries and drivers —-> 、 U8G2: a monochrome graphic library —-> 、选中 Use hardware i2c 、 (i2c1) i2c device name —-> 、 U8G2 Examples —-> 、选中 SSD1306: an example for I2C OLED (software) 、选中 SSD1306: an example for I2C OLED (hardware)
()依次选择 Hardware Drivers Config ---> On-chip Peripheral Drivers ---> Enable I2C1 BUS (software simulation) --->
选中 (8) i2c1 scl pin number、选中 (9) I2C1 sda pin number
(
)返回Env控制台,在命令行模式下输入 pkgs --update 命令,成功后再输入 scons --target=mdk5 命令
()打开project.uvprojx工程,编译发现 flash 不够大,选择优化选项 -O3
(
)打开ssd1306_12864_sw_i2c_example.cpp文件,将宏定义改为以下:
#define OLED_I2C_PIN_SCL 24 // PB8
#define OLED_I2C_PIN_SDA 25 // PB9

出现的问题:重新编译工程并连接好硬件威廉希尔官方网站 ,下载到板子后,
OLED没有显示!!!???

这是怎么回事,能不能解答一下。提供个相关例程也可以。谢谢

回帖(2)

李梅

2022-10-9 14:32:17
哗,使用O3可是优化级别好高哦,对代码的编写要求也比较高;
曾经遇到过,编写的代码使用O2/Os就没什么问题,
一旦使用O3,虽然体积一下子就小很多,但是都会出现一些逻辑问题;
所以一味地提高优化也不是个办法。
看楼主提到flash空间不够,考虑使用Os编译优化级别,
优化优化代码,使其满足flash的size大小。
举报

嚜軒公告

2022-10-10 13:28:53
rt-thread的代码写的iic的驱动吗,rtt的写驱动会有问题,应为经过好几层iic的时序可能就不对了,我当时控制就出现这个情况,不知用rtt的去程序去做模拟iic使用芯片的库去做。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分