新手入门
- 积分
- 22
- 金钱
- 22
- 注册时间
- 2016-3-5
- 在线时间
- 2 小时
|
1金钱
int main ()
{ u16 temp=0X00000000;
float temp2;
u16 adcx;
delay_init(); //
uart_init(9600); //
LED_Init(); //
LCD_Init();
POINT_COLOR=BLUE;
LCD_DisplayOn();
LCD_Clear(WHITE);
LCD_ShowNum(0,12,temp,16,24);
RCC->APB2ENR|=1<<2; //
RCC->APB2ENR|=1<<9; //
GPIOA->CRL&=0X00000000; //
RCC->CFGR|=1<<15; //
ADC1->CR2|=1; //ADC ON
ADC1->CR2=0; //
ADC1->CR1=0; //
ADC1->CR2|=0x000E0000; //
ADC1->SQR1=0; //
ADC1->CR2|=0X00000001; //
ADC1->CR2|=0X00000008;//
while(ADC1->CR2==0X00000001);//
ADC1->CR2|=0X00000004;//
while(ADC1->CR2==0X00000001);//
//adc3õê¼»ˉíê3é
while(1){
ADC1->SQR3|=0x000001E0; //
ADC1->SMPR2|=0x000001D0; //
ADC1->CR2|=0X00500000; //
while(ADC1->SR==2);//
temp=(u16)ADC1->DR;
//temp=temp<<4;
temp2=(float)temp*(3.3/4096);
LCD_ShowNum(0,36,temp,4,16);
LCD_ShowNum(0,60,temp2,4,16);
LED0=!LED0;
delay_ms(250);
}
}
请问是哪里出现了错误呀,屏幕上显示的ADC数值在2800左右波动
|
|