初级会员

- 积分
- 75
- 金钱
- 75
- 注册时间
- 2014-1-13
- 在线时间
- 2 小时
|

楼主 |
发表于 2014-7-17 10:46:41
|
显示全部楼层
回复【2楼】xiaoyan:
---------------------------------
这个是中断服务函数可是为什么打印不出来呢,还有电压值也没变化。
void ADC1_2_IRQHandler (void)
{
adcx=Get_Adc(ADC_Channel_1);
while(ADC_GetITStatus(ADC1,ADC_IT_EOC)!=RESET)
{
printf ("ADC:%d\r\n",adcx);
ADC_ClearITPendingBit(ADC1,ADC_IT_EOC);
}
}
main()
{
while(1)
{
adcx=Get_Adc(ADC_Channel_1);
LCD_ShowNum(156,130,adcx,4,16);//显示ADC的值
temp=(float)adcx*(3.3/4096); //temp 为浮点型
adcx=temp; //将temp强制转化为整型
LCD_ShowNum(156,150,adcx,1,16);//显示电压值
temp-=adcx; //得到小数部分
temp*=1000;
LCD_ShowNum(172,150,temp,3,16);
LED0=!LED0;
delay_ms(250);
}
} |
|