ybhuangfugui 发表于 2016-5-6 17:15:51

STM32F103 ADC单通道单次采集

今天讲解“STM32F103 ADC单通道单次采集”功能。 今天提供并讲解的软件工程,基于软件工程“A0.0.0(STM32F10x_TIM延时)”修改而来。若不知道如何而来,请关注微信公众号“EmbeddDeveloper”获取更多信息。本着免费分享的原则,将讲解的工程源代码分享给大家,还望看到的朋友关注和推广一下微信公众号,增加一下人气。每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。 今天的软件工程下载地址(360云盘):http://yunpan.cn/cPGrE6DLHX24R访问密码 de4f STM32F10x的资料可以在我360云盘下载:http://yunpan.cn/crBUdUGdYKam2   访问密码 ca90 关于“STM32F103 ADC单通道单次采集” 我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。 一、RCC时钟配置 该函数位于在bsp.c文件下面;使能RCC时钟:RCC_APB2Periph_ADC1 二、引脚配置 该函数位于在adc.c文件下面;对AD通道2所使用的引脚进行配置。问题:细心的人可能会发现数据手册中PA2引脚的复用功能是“ADC123_IN2”,我们明明使用的ADC1,为什么不是ADC1_IN2或者ADC2_IN2?大家先想一下为什么是ADC123_IN2,最后我会揭晓答案。 三、ADC配置 该函数位于在adc.c文件下面;对AD进行配置。配置的每一条语句都有注释,请看源代码,重点讲一下“ADC_Channel_2”,这里必须和上面引脚配置对应起来,也就是通道的引脚配置一致才行。 四、电压检测 该函数位于在adc.c文件下面;调用这个接口就可以采集电压值。函数使用单通道单次,软件触发采样电压值,这里采样8次(更加自己情况可以选择多次),算平均,最后得出电压值(1000倍值)。 五、主函数应用 该函数位于在main.c文件下面;主要就是采集电压,通过串口打印出来(1000倍值)。 六、揭晓ADC123_IN2上面的问题有自己想明白了的吗?其实很简单的,ADC123_IN2顾名思义,它就是包含了ADC1、ADC2、ADC3的IN2的意思。也就是说,你们使用ADC2的通道2也是这个“ADC123_IN2”通道。方便大家学习,我把两个工程都上传至360云盘,不行的朋友可以亲自下载代码试试。对比的软件工程下载地址:http://yunpan.cn/cPGRAYZrdvdPf访问密码 2ce1 我的软件工程排版格式都是严格按照一定的规范排版的,请参见:"软件编辑排版要求及说明.doc "下载地址(360云盘):http://yunpan.cn/cPGHPUC6SETyG访问密码6ca7 下载方式:长按网站 ->选择复制 ->打开或者复制网站在电脑上下载也可。 想掌握更多精彩内容,请关注我的微信公众号。微信搜索“EmbeddDeveloper”, 或扫描下面二维码关注

dsjsjf 发表于 2016-5-6 22:52:44

顶一下      

追逐北极星 发表于 2016-5-25 13:49:24

不错                  

欣辰天下 发表于 2016-6-20 22:17:56

:lol:lol:lol:lol
页: [1]
查看完整版本: STM32F103 ADC单通道单次采集