[STM32U3] 【STM32U385RG 测评】+ A/D数据采集与OLED屏显示

[复制链接]
 楼主| jinglixixi 发表于 2025-7-14 22:50 | 显示全部楼层 |阅读模式
本帖最后由 jinglixixi 于 2025-7-15 00:20 编辑

将OLED屏的显示功能与A/D数据检测功能相结合,可实现检测数据的直接观察,从而摆脱了对串口输出信息的依赖。要完成这个目标,需要下面的2个环境来实现。

1. OLED屏显示驱动
为了减少对引脚的使用,故选取了只有4个引脚的以I2C方式工作的OLED屏。此外,为了省去接线的麻烦,这里是直接使用接口CN5,见图1所示。
dc6fce0fade754bfb38e12f84568b067
858d5be19a77fc8498ecdbe19de926a1
图1 CN5接口

为此,OLED显示屏的引脚连接关系为:
SCL----PB14
SDI----PB13

对所用引脚的配置函数为:
1.jpg

所用引脚输出高低电平的语句定义为:
#define OLED_SCLK_Set() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET)
#define OLED_SCLK_Clr() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET)
#define OLED_SDIN_Set() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_SET)
#define OLED_SDIN_Clr() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET)
有了前面的准备,就可以为显示驱动配置相应的模拟 I2C 方式发送数据的函数了,其内容为:

2.jpg

对所用的OLED显示屏,其初始化函数为:

3.jpg


实现屏幕擦除的函数为:

4.jpg


在驱动测试有效的情况下,添加字库及显示函数来实现字符串的显示需求。
其字符显示的函数为:

5.jpg



对应的字符串显示函数为:

6.jpg

测试字符串显示的主程序为:
7.jpg


经程序的编译和下载,其测试效果如图2所示。
5015a8acabd4b7a8205c23e4adf896be
图2 显示效果

2.A/D数据采集
为进行单通道的数据采集测试,选取的数据采集通道为ADC通道4,对应的引脚为PB2。

为此,其初始化的函数为:
8.jpg

9.jpg
此外,为了显示数据的需要,还需添加相应的数值显示函数,其内容为:
10.jpg

测试数据采集功能并予以显示,其主程序为:

11.jpg

12.jpg

经程序的编译和下载,其测试效果如图3所示。
97ba5501c67031f5ec56356a3535e7a8
图3 测试效果


















小小蚂蚁举千斤 发表于 2025-7-28 23:29 | 显示全部楼层
A/D数据采集与OLED屏显示
您需要登录后才可以回帖 登录 | 注册

本版积分规则

517

主题

2932

帖子

39

粉丝
快速回复 在线客服 返回列表 返回顶部

517

主题

2932

帖子

39

粉丝
快速回复 在线客服 返回列表 返回顶部