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

【STM32C031试用】OLED+helloworld

[复制链接]
lugl 发布时间:2023-2-10 22:56

接线

找到开发板的说明文档《um2953-stm32-nucleo64-board-mb1717-stmicroelectronics.pdf》的第19页,找到引图:

image.png 这里使用I2C1驱动OLED屏,接线如下:

col1 col2
OLED 开发板
SDA PB8(D15)
SCL PB9(D14)
VCC 3.3V
GND GND

工程搭建

在上一篇【STM32C031试用】HELLO WORLD (stmicroelectronics.cn)的基础上添加代码即可,因为开发板工程已经配置好了I2C1: image.png 这里要注意的一点是要把PB9的GPIO的输出模式修改为:Pull-up,为了提高速度,我们把IO速度修改为Very High image.png 把I2C Speed Mode修改为Fast Mode image.png 修改好后保存退出

ssd1306文件移植

由于我原来有stm32cubeIDE下的STM32U575开发板下ssd1306的现成驱动工程,我直接把ssd1306的文件夹直接拷过来就行了。 image.png 然后把文件路径添加到工程里面: image.png

添加用户的自定义显示代码

/* USER CODE BEGIN 2 */
  OLED_Init(); //OLED初始化
  OLED_Clear();  //清缓存
  OLED_Refresh();  //刷新显示
  OLED_ShowString(10, 0, "hello world", 16, 1);  
  OLED_ShowString(10, 16, "STM32C0", 24, 1);
  OLED_ShowString(10, 48, "2023-02-10", 16, 1);
  OLED_Refresh(); //刷新显示
  /* USER CODE END 2 */

然后编译工程下载就可以看到驱动OLED屏成功了。效果如下:

OLED.jpg 【小结】stm32cubeIDE的HAL驱动,可以零修改移植到各个开发板上,非常方便。具体的说明可以看看我分享的文档:STM32Cube BSP 驱动程序开发指南 (stmicroelectronics.cn)

收藏 评论2 发布时间:2023-2-10 22:56

举报

2个回答
lugl 回答时间:2023-2-10 22:56:49
![um2953-stm32-nucleo64-board-mb1717-stmicroelectronics.pdf](data/attachment/forum/?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "um2953-stm32-nucleo64-board-mb1717-stmicroelectronics.pdf")
- q2 _! N" c& r* o& |# n  |" u1 v2 |
主控芯片.jpg
lugl 回答时间:2023-2-10 23:00:20

lugl 发表于 2023-2-10 22:56
!(data/attachment/forum/?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "um2953-stm32-nucleo64-bo ...

我息插进去的文档,显示为图片,有BUG。

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版