Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
I2C_IIC
ssd1306
U8G2 软件包单色1.3寸OLED屏驱动在 RT-Thread 移植问题
发布于 2019-05-21 21:07:56 浏览:3691
订阅该版
[tocm] # 前提说明: U8G2 软件包单色1.3寸OLED屏驱动在 RT-Thread 移植到stm32l4r5-st-nucleo板,使用的是软件模拟I2C通讯 ## 使用的硬件资源: stm32l4r5-st-nucleo板,中景园电子1.3英寸单色OLED显示屏(I2C通讯、控制芯片SH1106) 使用的软件资源: MDK5、rt-thread-4.0.0版本、U8G2软件包、env_released_1.1.2工具、Xshell-6.0.0111p终端工具 ## 移植主要过程: 进入 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`文件,将宏定义改为以下: ```c #define OLED_I2C_PIN_SCL 24 // PB8 #define OLED_I2C_PIN_SDA 25 // PB9 ``` ## 出现的问题: 重新编译工程并连接好硬件电路,下载到板子后,使用Xshell-6.0.0111p终端工具进行shell 调试时,在系统启动后(已开启finsh),在msh命令行中输入: MSH_CMD_EXPORT(u8g2_ssd1306_12864_sw_i2c_example, i2c ssd1306 software i2c sample); OLED没有显示!!!??? ## 存在的疑惑: - (*)上文说明的U8G2 软件包单色屏驱动在 RT-Thread 的移植过程是否有错漏? - (*)U8G2软件包使用软件模拟I2C时,是如何与硬件(如STM32DEMO板)的GPIO进行映射? - (*)U8G2软件包使用软件模拟I2C控制OLED时,OLED设备的地址是如何被U8G2软件包调用的?
查看更多
wuhanstudio
2019-05-22
这家伙很懒,什么也没写!
[i=s] 本帖最后由 wuhanstudio 于 2019-5-22 16:10 编辑 [/i] 您好,不好意思最近准备毕业答辩的事情没有怎么关注论坛了,因为论坛里面文章比较多,有的时候我可能没注意。 如果有问题在 [https://github.com/wuhanstudio/rt-u8g2/issues](https://github.com/wuhanstudio/rt-u8g2/issues) 这里提出我都会收到邮件通知。 关于上面3个疑惑: 1. 如果在 rt-thread 下 list_device 能看到 i2c 设备,例如是 i2c2 可以使用这个软件包 [http://packages.rt-thread.org/itemDetail.html?package=i2c-tools](i2c-tools) 在 msh 执行 i2c scan i2c2 确认液晶屏是连接上的,再进行代码上传调试 2. 如果是硬件 i2c 在选择 i2c device name 的时候就关联起来了,如果是软件 i2c 在初始化的时候例子里就定义了 OLED_I2C_PIN_SCL,OLED_I2C_PIN_SCL 3. 常见 OLED 的 i2c 地址都是固定的,这些已经在 u8g2 驱动里面定义好了
4
个回答
默认排序
按发布时间排序
Fjf
2019-05-21
这家伙很懒,什么也没写!
补充: 移植主要过程 6.在`stm32l4xx_hal_conf.h`中打开`#define HAL_UART_MODULE_ENABLED`,否则会报错
wyzjoyful
2019-12-15
这家伙很懒,什么也没写!
我好想发错地方了,那就借个地方 问下这个问题。 u8g2 使用 硬件 SPI [attach]12701[/attach] 在 menuconfig 下选了 [attach]12702[/attach] ```c #define OLED_SPI_PIN_RES GET_PIN(B, 6) #define OLED_SPI_PIN_DC GET_PIN(B, 4) #define OLED_SPI_PIN_CS GET_PIN(B, 7) static void ssd1306_12864_4wire_hw_spi_example(int argc,char *argv[]) { u8g2_t u8g2; // Initialization u8g2_Setup_ssd1306_128x64_noname_f( &u8g2, U8G2_R0, u8x8_byte_rt_4wire_hw_spi, u8x8_rt_gpio_and_delay); u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_CS, OLED_SPI_PIN_CS); u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_DC, OLED_SPI_PIN_DC); u8x8_SetPin(u8g2_GetU8x8(&u8g2), U8X8_PIN_RESET, OLED_SPI_PIN_RES); ``` [attach]12703[/attach] 运行直接崩溃。 这个是哪里的问题! rt_thread 使用的是 3.1.3 在menuconfig 中 `pkgs --update` 更新下来就改了个管脚配置。
pkokoc
2020-02-09
这家伙很懒,什么也没写!
>我好想发错地方了,那就借个地方 问下这个问题。 >u8g2 使用 硬件 SPI 在 menuconfig 下选了 --- 层组,这个崩溃的问题是否已经解决,如何解决的? 我也碰到类似的问题: 硬件:STM32F103VET6 + (spi) oled 0.96,menuconfig中选择硬件SPI 软件:env1.1.2.7 , rt-thread 4.0.2,u8g2是menuconfig中选择的1.2.0 C语言版的
撰写答案
登录
注册新账号
关注者
0
被浏览
3.7k
关于作者
Fjf
这家伙很懒,什么也没写!
提问
9
回答
20
被采纳
0
关注TA
发私信
相关问题
1
NXP的I2C应该比ST的好用吧
2
Use of I2C device driver
3
关于I2C 驱动问题请教
4
我如何知道这个iic的io配置和我电路设计的是一致的?
5
I2C模拟读操作失败,不知道问什么进不去读函数
6
RTT的I2C有官方文档资料没有
7
求 STM32F103 IIC 自定义IO初始化 代码
8
报一个LPC4008代码中I2C的bug
9
RTOS IIC总线使用
10
关于在RTT中使用STM32 I2C的疑问
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
7
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部