蓝桥杯嵌入式开发:STM32G431R8T6的ADC和DAC实验教程
创作时间:
作者:
@小白创作中心
蓝桥杯嵌入式开发:STM32G431R8T6的ADC和DAC实验教程
引用
1
来源
1.
http://www.liustu.com.cn/index.php/2025/02/20/stm32adda/
本文将介绍如何使用STM32G431R8T6开发板实现ADC(模数转换)和DAC(数模转换)功能。通过CubeMX进行硬件配置,并提供完整的C代码实现,帮助读者掌握ADC和DAC的基本使用方法。
本次实验使用的是蓝桥杯嵌入式大赛的指定开发板,STM32G431R8T6。
CubeMX配置
ADC部分
设置引脚选择ADC模式,对应通道选择“Single-ended”(单端输出)。其他默认即可。
DAC部分
DAC选择“仅与外部引脚相连”。
生成代码
ad.c
#include "ad.h"
/* ADC读取函数
* 参数 AD结构体的变量
* 返回值 AD读取到的电压(0-3.3V)
*/
double ADC_GetValue(ADC_HandleTypeDef* adcHandle)
{
/* 保存从AD寄存器中读取到的数值 */
unsigned int value;
HAL_ADC_Start(adcHandle);
/* 读取ADC中寄存器的值 */
value = HAL_ADC_GetValue(adcHandle);
/* 数据处理,转化为电压值 */
return value * 3.3 / 4095;
}
/* DAC输出函数
* 参数 DAC结构体、通道值、数据对其格式、输出的电压值
*/
void DAC_OUT(DAC_HandleTypeDef* dacHandle, uint32_t Channel, uint32_t Alignment, double value)
{
uint32_t v_data;
/* 开启DAC输出 */
HAL_DAC_Start(dacHandle, Channel);
/* DAC输出 */
v_data = value / 3.3 * 4096;
HAL_DAC_SetValue(dacHandle, Channel, Alignment, v_data);
/* DAC关闭 */
HAL_DAC_Stop(dacHandle, Channel);
}
ad.h
#ifndef __AD_H_
#define __AD_H_
#include "main.h"
double ADC_GetValue(ADC_HandleTypeDef* adcHandle);
void DAC_OUT(DAC_HandleTypeDef* dacHandle, uint32_t Channel, uint32_t Alignment, double value);
#endif
主函数功能验证部分
while (1)
{
/* ADC数据采集显示 */
adc1_value = ADC_GetValue(&hadc1);
adc2_value = ADC_GetValue(&hadc2);
sprintf(lcd_string,"ADC1 = %.3f",adc2_value);
LCD_DisplayStringLine(Line1, (unsigned char *)lcd_string);
sprintf(lcd_string,"ADC2 = %.3f",adc1_value);
LCD_DisplayStringLine(Line2, (unsigned char *)lcd_string);
/* 将采集到的ADC电压通过DAC输出 */
DAC_OUT(&hdac1,DAC_CHANNEL_1,DAC_ALIGN_12B_R,adc1_value);
sprintf(lcd_string,"PA4 DAC = %.3f",adc2_value);
LCD_DisplayStringLine(Line3, (unsigned char *)lcd_string);
}
演示教程视频
【B 站链接 —— 备战 2025 蓝桥杯 —— 嵌入式】ADC、DAC
热门推荐
在秋季帕金森多吃火龙果的三大好处
采用先进工艺、技术、材料等对旧件进行修复或升级改造再制造:老旧设备重获新生之道
国产疫苗应急接种的适用人群是谁?
树池格栅板:绿环玻璃钢创新应用,提升城市绿化与排水效率
唤醒身体,迎接活力春天
黄金基金的投资风险是什么?这种风险如何进行管理和控制?
影响清末历史走向的湘军,是如何开始结束的
血压左右胳膊不一样是怎么回事
一到秋天就爱流眼泪,女子竟患季节性抑郁障碍,如何识别抑郁的早期症状?
中国航展:天和防务成为低空经济馆“最亮的仔”
失业率是如何调查出来的?国家统计局滨海新区调查队详解来啦
临床实习医患沟通
固定翼飞机的结构与飞行原理
详解纳米压痕仪
电线电缆材料用量计算公式解析
如何撰写清晰有效的房屋出租合同以保障双方权益
不小心撞死老虎,是否需要承担法律责任?
成都市凤凰山公园
晚春野蔷薇美诗五首:蔷薇性野难拘束,却过邻家屋上红
介绍AdaIN(自适应实例归一化)
铁皮石斛检测:从成分到安全的全面解析
哪些因素决定了创新创业成功的案例的成功率
【高考地理】周易与自然规律
守好您的“钱袋子”!监管部门发布春节防骗提示
腱鞘炎“困”住手指,超声可视化小针刀轻巧化解
关于聘请律师为公司提供法律咨询的建议
预包装食品备案申请需要什么资料?
宝宝肠胀气怎么处理最有效
肝癌患者在饮食上有什么禁忌
三种实用方法轻松去除衣物上的黄油污渍