中级会员
 
- 积分
- 352
- 金钱
- 352
- 注册时间
- 2019-5-30
- 在线时间
- 78 小时
|
5金钱
本帖最后由 feat0506 于 2019-10-30 22:53 编辑
u16 Get_Adc(u8 ch)
{
ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_3Cycles );
ADC_SoftwareStartConv(ADC1);
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));
return ADC_GetConversionValue(ADC1);
}
void EXTI0_IRQHandler(void)
{
adcx=Get_Adc(ADC_Channel_5);
temp=(float)adcx*(3.3/4096);
printf("\ntemp=%lf\r",temp);
EXTI_ClearITPendingBit(EXTI_Line0);
}
初始化程序省略,主体思路是通过外部同步信号上升沿触发外部中断后,通过软件开启AD采集。采集的电压信号频率是1KHZ左右,电压大小0.5V~1.5V
在实际测量程中发现AD采集震荡严重。请问程序这么写是可以的吗?
|
最佳答案
查看完整内容[请看2#楼]
你这叫外部中断调用adc采样 触发看帖子http://www.openedv.com/forum.php?mod=viewthread&tid=301452&extra=
|