主函数例程
int main()
{
u8 i,dat[6],j;
u16 value;
float ad;
TFT_Init(); //TFT 初始化
adc_init(); //ADC 初始化
LED_Init(); //LED 端口初始化
printf_init();//printf 初始化
TFT_ClearScreen(BLACK);
GUI_Show12ASCII(10,10,"This is a ADC1-Channel1-PA1 Check!",YELLOW,BLACK);
GUI_Show12ASCII(10,100,"The AD Value is:",YELLOW,BLACK);
while(1)
{
value=0;
for(i=0;i<10;i++)
{
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//转换结束标志位
value=value+ADC_GetConversionValue(ADC1);//返回最近一次 ADCx 规则组的转
换结果
}
if(j>1)
{
j=0;
GPIO_SetBits(GPIOC,GPIO_Pin_0);
}
else
{
j++;
GPIO_ResetBits(GPIOC,GPIO_Pin_0);
}
delay_ms(100);
value=value/10;
ad=value*3.3/4096;
value=(u16)(ad*100);
dat[0]=value/100+0x30;
dat[1]='.';
dat[2]=value%100/10+0x30;
dat[3]=value%100%10+0x30;
dat[4]='V';
dat[5]='\0';
GUI_Show12ASCII(160,100,dat,RED,BLACK);
}
}
|