发现官方的BSP做的非常好,我以为要初始化时钟什么的,发现直接一个函数就配置好了,不用管背后的内容
#include "delay.h"
#include "sys.h"
#include "uart.h"
#include "adc.h"
#include "led.h"
/********************************************************************************************************
**º¯ÊýÐÅÏ¢ £ºmain(void)
**¹¦ÄÜÃèÊö £º
**ÊäÈë²ÎÊý £º
**Êä³ö²ÎÊý £º
** ±¸×¢ £º
********************************************************************************************************/
int main(void)
{
u16 ADCVAL;
float fValue;
delay_init();
LED_Init();
uart_initwBaudRate(115200); //´®¿Ú³õʼ»¯Îª115200
/*ÅäÖÃADC1Ϊµ¥´Îת»»Ä£Ê½,ͨµÀ1ʹÄÜ*/
ADC1_SingleChannel( ADC_Channel_1);
while(1)
{
ADCVAL=Get_Adc_Average(ADC_Channel_1,5);
fValue = ((float)ADCVAL/4095)*3.3;
printf("ADC1_CH_1=%fV\r\n",fValue);
delay_ms(200);
}
}
这是官方的例子。
一共提供了三个ADC操作库函数,真是简单好用
void ADC1_SingleChannel(uint8_t ADC_Channel_x);
u16 ADC1_SingleChannel_Get(uint8_t ADC_Channel_x);
u16 Get_Adc_Average(uint8_t ADC_Channel_x,uint8_t times);
基本应用就满足了,如果需要更高级的用法需要自己用寄存器做了。
|