IT技术浅谈
联系我们
主页 > IT技术浅谈 > IT技术浅谈

STM32菜鸟日记5---AD转换,stm32菜日记5---ad

时间:2019-01-31  编辑:AG集&#

STM32菜鸟日记5---AD转换,stm32菜日记5---ad

首先,点击下面的链接下载我们需要使用的代码。链接

1.添加必要的文件:


之前我们说过,有三个文件是必须添加的,这三个文件分别是:startup_stm32f10x_xd.s ,stm32f10x_rcc.c ,system_stm32f10x.c。其中,前面的xd是根据你的芯片的容量来选择的。这三个文件都可以在千帆提供的代码中找到。文件路径:Core.rar\Core\STM32\Source\Must 。

另外,如果想操作IO口,必须添加千帆的一个库文件DeviceBase.cpp。文件路径:Core.rar\Core\system。

2.设置Include path


这样可以帮助编译器找到千帆库的头文件。具体的设置方法我们在前面已经说过,下面是链接:我是链接,点我


3.添加AD和串口部分的代码至工程

将千帆库文件中的AD部分的代码添加到工程中(文件:ADConvert.cpp,路径:Core.rar\Core\system)。

将千帆库文件中的串口部分的代码添加到工程中(文件:SerialPort.cpp,路径:Core.rar\Core\system)。

添加完成之后的Project如下图所示:


通过这样的方式测量电压是不是很简单啊。





stm32 adc转换怎用

先做AD校准,上电之后只需校准一次,然后配置好相应IO为模拟输入模式,配置ADC的采样频率、采样模式、采样通道等,如果需要用DMA的话还得配置DMA
 
STM32 ADC转换怎计算

你得到的结果是你当前AD引脚上的电压值相对于3.3V和4096转换成的数字.

假如你得到的AD结果是ADC_DR这个变量,他们存在以下关系:

ADC_DR/当前电压值 = 4096/3300毫伏

如果你反过程想得到当前电压值,可以如下计算:
unsigned long Voltage;
Voltage = ADC_DR; //---假设你得到的AD结果存放到ADC_DR这个变量中;

Voltage = (Voltage * 3300)/4096; //----你就得到了正确的电压结果,单位是mV

一般出于效率,我会们自己进行约分:
Voltage = (Voltage * 825)/1024; //----你就得到了正确的电压结果,单位是mV

而再进一步,效率会更高:
Voltage = (Voltage * 825)>>10; //----你就得到了正确的电压结果,单位是mV
 

http://www.bkjia.com/Androidjc/856524.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/856524.htmlTechArticleSTM32菜鸟日记5---AD转换,stm32菜日记5---ad 首先,点击下面的链接下载我们需要使用的代码。 链接 1.添加必要的文件: 之前我们说过,有三个...

本文源自: AG游戏网站

Copyright © 2005-2016 http://www.firebugkc.com AG游戏网站_亚洲最佳百家乐游戏平台_AG环亚集团_网易体育版权所有 AG游戏网站_亚洲最佳百家乐游戏平台_AG环亚集团_网易体育