打印
[STM32U3]

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

[复制链接]
118|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2025-7-15 00:20 编辑

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

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


图1 CN5接口

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

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


所用引脚输出高低电平的语句定义为:
#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 方式发送数据的函数了,其内容为:



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




实现屏幕擦除的函数为:




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





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



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



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

图2 显示效果

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

为此,其初始化的函数为:



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


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





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

图3 测试效果


















使用特权

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

本版积分规则

508

主题

2911

帖子

39

粉丝