STM32 软件触发ADC采集详解
创作时间:
作者:
@小白创作中心
STM32 软件触发ADC采集详解
引用
CSDN
1.
https://blog.csdn.net/longgyue/article/details/142448117
STM32的ADC(模数转换器)功能是单片机开发中非常重要的一个模块,广泛应用于各种传感器数据采集场景。本文将通过STM32F103C8T6为例,详细介绍如何通过软件触发方式实现ADC数据采集。
0.91寸OLED屏幕大小的音频频谱,炫酷!
STM32的ADC模块功能强大,但相应的配置也较为复杂。对于软件触发ADC方式,其基本流程如下图所示:
最基本的ADC采样方式,不经过外部触发,采样转换完成不触发中断。
接下来,我们将详细讲解ADC的操作步骤,以ADC1的通道0为例。
时钟配置
STM32系列ADC的时钟来源于APB2时钟分频。首先需要将APB2时钟分频到36M,然后将ADC时钟分频到12M。具体配置如下:
void clock_config()
{
RCC->CFGR&=~(1<<14);
RCC->CFGR|=(1<<14);
while(!(RCC->CFGR&(1<<14)));
RCC->CR|=1;
while(!(RCC->CR&1));
RCC->CFGR&=~(1<<14);
}
GPIO初始化
要实现ADC采集功能,需要将对应的GPIO设置成模拟输入模式。这里以PA0为例:
void gpio_init()
{
RCC->APB2ENR|=(1<<2)|(1<<9);//GPIOA时钟使能
GPIOA->CRL&=~(0X0F<<0);//PA0 模拟输入模式
}
ADC模块初始化
ADC模块的初始化相对复杂,需要配置多种寄存器参数。以下是具体的初始化代码:
void adc_init()
{
ADC1->CR2|=(1<<0);
ADC1->CR1&=~(0X0F<<16);//independent mode
//ADC1->CR1&=~(7<<13);//1个通道
//ADC1->CR1|=(1<<11);
ADC1->CR1&=~(1<<8);//扫描模式关闭
ADC1->CR2|=(1<<20);
ADC1->CR2|=(7<<17);
ADC1->CR2&=~(1<<11);//right align
ADC1->CR2|=(1<<3);
while(ADC1->CR2&(1<<3));
ADC1->CR2|=(1<<2);
while(ADC1->CR2&(1<<2));
ADC1->CR2&=~(1<<1);
ADC1->SMPR2&=~(7<<0);
ADC1->SQR3&=~(0X1F<<0);
}
控制ADC采集
最后是控制ADC采集的过程,通过软件触发方式启动ADC转换:
unsigned int start_adc()
{
ADC1->CR2|=(1<<22);//开始转换
while(!(ADC1->SR&(1<<1)));
return(ADC1->DR);
}
显示ADC采集结果
之前介绍过关于OLED的显示功能,这里我们通过OLED将ADC采集到的值显示出来。实际效果如下:
STM32 软件触发ADC采集的实际效果
通过以上步骤,我们就可以实现STM32单片机的软件触发ADC数据采集功能。这个功能在各种传感器数据采集场景中都有广泛的应用,希望本文能帮助读者更好地理解和掌握这一重要功能。
热门推荐
打造安全亲子乐园,从家庭环境做起
胡红洁和魏丽婷教你培养孩子的安全意识
揭秘青少年营养需求:从三大营养物质到健康饮食指南
健康饮食知多少?初中生必读的营养指南
翠湖红嘴鸥、老街银杏、黑龙潭枫叶:昆明秋色正当时
昆明五大文化地标:西南联大、讲武堂等见证春城历史
昆明世博园跨年烟花秀:从cos巡游到电音派对,59元起玩转八大活动
冬游昆明:邂逅西伯利亚海鸥,漫步金色银杏林
甄子丹主演《叶问4》刷新新加坡票房纪录,展现中国功夫魅力
银幕内外两重天:真实的叶问与电影塑造的宗师形象
“曾”字与“甑”:一个汉字背后的烹饪文化
汉字“曾”的前世今生:从甲骨文到现代汉语的演变
山楂当归鸡骨草,这样泡水喝能养肝
通达信图片导入技巧,让你的股票分析更上一层楼!
通达信图片导入完全指南:从入门到精通
甄子丹梁朝伟版叶问:一个偏重外在,一个深入内心
11亿票房、200场巡演:《叶问4》引爆全球咏春热
吉娃娃夜间咳嗽,小心心脏病信号
设置防窥探手机图案密码:这些技巧让你的隐私更安全
图形密码破解大揭秘:你知道多少?
阿达木单抗:类风湿关节炎治疗的新希望
智能马桶插座:30-40厘米最适宜,防水安全是关键
新款手机指纹解锁攻略,你get了吗?
新乡古镇春节上演传统戏剧盛宴,打铁花等非遗文化精彩亮相
小店河村:豫北最大清代民居群,28处四合院见证三百年沧桑
叶问电影让咏春拳走向世界,100国百万爱好者习练
马士基入驻上海启动中转集拼,上海港年吞吐量首破5000万标箱
5天802元,运城到武汉自驾游完全攻略
三宝胶囊治肾虚心悸失眠,含人参鹿茸21味中药
脱口秀教会我的幽默之道:从心理学到生活实践