在线时间6 小时
UID62323
ST金币0
蝴蝶豆0
注册时间2008-7-29
初级会员
- 最后登录
- 2018-9-8
|
a0a.1 0b0c
如下是我的程序,结果是ADC_CSR的EOC位已置位,就是读不出来。
程序死在红色的地方,或者跳到PD中断的地方,这是为什么呢??
是我哪里搞错了!!!
void main(void)
{
PD5,PD6初始化为输入;
ADC_Config();
while (1)
{
AD6 = ADC_GetValue(ADC1_CHANNEL_6);
}
}
ADC1_Flag_TypeDef ADC1_St;
void ADC_Config(void)
{
ADC1_DeInit();
ADC1_PrescalerConfig(ADC1_PRESSEL_FCPU_D4);
ADC1_ScanModeCmd(ENABLE);
ADC1_Cmd(ENABLE);
}
INT16U ADC_GetValue(ADC1_Channel_TypeDef ADC_Channel)
{
INT16U TempValue;
ADC1_ConversionConfig(ADC1_CONVERSIONMODE_SINGLE, ADC_Channel, ADC1_ALIGN_LEFT);
do
{
ADC1_St = ADC1_GetFlagStatus(ADC1_FLAG_EOC);
}
while (SET == ADC1_St);
ADC1_ClearFlag(ADC1_FLAG_EOC);
TempValue = ADC1_GetConversionValue();
return (TempValue);
} |
|