在线时间0 小时
UID2073066
ST金币0
蝴蝶豆0
注册时间2014-2-11
新手上路
- 最后登录
- 1970-1-1
|
a0a.1 0b0c
本人写了一个AD采集程序,一直不成功,程序如下:
void main(void)
{
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8); //hsi8分频,2MZ
//采样 AIN3
GPIO_Init(GPIOB, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);
ADC1_Cmd(ENABLE);
ADC1_DeInit();
/* Init ADC1 peripheral */
ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_3, ADC1_PRESSEL_FCPU_D2,\
ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL3,\
DISABLE);
ADC1_DataBufferCmd(DISABLE);
ADC1_Cmd(ENABLE);
ADC1_ITConfig(ADC1_IT_EOCIE,ENABLE);
enableInterrupts();
ADC1_StartConversion();
while (1)
{
}
中断函数:uint16_t datel,i;
ADC1_Cmd(DISABLE); //关了ADC
ADC1_ClearFlag(ADC1_FLAG_EOC); //清理标记位
datel = ADC1_GetConversionValue();
这样为什么datel的数据是0x0000呢,求大家解答。 |
|