您的位置:首页 > 其它

基于Wolf32F031 自由评估板的ADC实验硬件原理及软件API使用方法(适用于STM32F030/031)

2015-12-07 21:03 639 查看


●共分为五部分:

(一)相关知识

(二)硬件原理

(三)软件API

(四)调用方法

(五)实验现象

 


●相关知识:

1.ADC,模拟-数字转换器可以将外部模拟信号转换为数字信号,STM32F032内部提供一个12-bit高速ADC,外接可达10个通道, 转换电压范围为0 to 3.6V 。

2.本评估板中,将ADC一个通道外接精密可调电阻,实现模拟电压的输入。


●硬件准备:

1.Wolf32F031 自由 评估板

2.电源适配器

3.JLink/ULink/STLink(本文以STLink为例)

4.USB转串口(RS232)


●硬件原理框图:





●硬件原理图:





●软件资源准备:

ADC工程文件:

wolf32f031_ADC.uvproj


●软件API介绍:


变量介绍:

typedef struct

{

  uint16_t ADCConvertedValueLocal; 

    //Save the value read from registor.

  uint16_t Precent;  //Save the precent to full range.

   uint16_t Voltage;    //Save the voltage calculate with reference voltage.

}ADC_RESULT;

 


函数介绍:

//Init ADC

void ADC1_CH_DMA_Config(void);

//Read ADC result

ADC_RESULT wolf_read_ADC_result(void);

 


●调用方法:

初始化ADC为DMA模式,启动ADC转换

ADC1_CH_DMA_Config();  //Init ADC DMA mode.

读取ADC数值

adc_result = wolf_read_ADC_result();

通过串口发送给PC

printf("Current ADC result is:0x%X,

  Precent is:%d%%,

  Voltage is:%d.%d%dV.\r\n",

  adc_result.ADCConvertedValueLocal,

  adc_result.Precent,

  adc_result.Voltage/1000,

  (adc_result.Voltage%1000)/100,

  (adc_result.Voltage%100)/10);


●实验现象


3.1硬件连接实物





3.2编译代码并下载

打开code\1.basic\ADC\Project\wolf32f031_ADC.uvproj,编译并下载工程。





3.3下载完成后,确认连接好串口,打开DNW,选择好相应串口,设置波特率为115200,给评估板上电,观察DNW接收数据.





依梦科技,或许可以帮到你
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  STM32F STM32F0 S