蓝桥杯嵌入式开发: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
热门推荐
春节与禧年:传统节日的宗教仪式探秘
腌制杨桃的做法(传统酸爽口感)
青春活力穿搭:运动与休闲风格尽显时尚气质
看日本主妇和三木妈妈,我发现50+穿搭:“接地气”比精致更重要
不同年龄段女性穿衣搭配方法 20-60岁女性着装搭配指南
泰山竟然是地府入口?当地人:所以我们爬泰山时从来不敢乱说话
泰山徒步攻略:红门往返+山顶一圈治不服嘴硬的人
油条糍粑,不只是早餐,多变风味的烹饪秘籍,让你的餐桌不再单调
油条的制作技巧与家庭烹饪实践
掌握生胚油条的发酵技巧,让您炸油条不在困难
吴焕淦教授推荐:隔药饼灸治结肠炎
香港浸大新药参苓溃康颗粒:结肠炎患者的福音!
从雍和宫出发,忆老北京的铜作坊
玻璃钢工艺自动化:技术革新与发展趋势
7 个适合初学者的腹肌锻炼动作
从VR到MR:如何在航空培训中实现高效、安全的飞行模拟
健康管理系统有哪些功能,如何应用?
全自动洗衣机不转了?揭秘背后隐藏的5大原因,轻松解决!
一瓶雪碧含13块方糖!喝雪碧真的会胖?真相揭秘
最新全球大学排名:武大华科进前十,北航东南跌出前二十!
鹅肉的药用价值与食用功效
广东校园禁售碳酸饮料!保护青少年健康,这一步很关键
伯克利开创性征税政策:如何改变全球碳酸饮料消费?
宝宝误吞樱桃核怎么办?专家教你急救妙招!
樱桃籽真的有毒吗?一文揭秘真相!
樱桃籽真的有毒吗?专家解读来了!
樱桃籽真的有毒?教你安全食用樱桃
腹泻用药指南:常见药物及使用注意事项
AI情感模拟:为心理健康插上科技翅膀
早餐吃海参,搭配蜂蜜最营养!