void Adc_Init(void)
{
RCC->APB2ENR|=1<<3;//????A???±??
GPIOB->CRL&=0XFFFFFFF0;// PB0??????
RCC->APB2ENR|=1<<9; //ADC1?±??????
RCC->APB2RSTR|=1<<9;//ADC1????
RCC->APB2RSTR&=~(1<<9);//ADC1?????á??
RCC->CFGR&=~(3<<14); //·????ò×?????
RCC->CFGR|=1<<14; //?è??·????ò×?
ADC1->CR1&=0xf0ffff;//?¤×÷????????
ADC1->CR1|=0<<16;// ?????¤×÷????
ADC1->CR1&=~(1<<8); // ·??¨?è????
ADC1->CR2&=~(1<<1);// ????×???
ADC1->CR2&=~(7<<17);//
ADC1->CR2|=7<<17; //?í??????×???
ADC1->CR2|=1<<20; //??????????·?
ADC1->CR2&=~(1<<11);// ??????
ADC1->SQR1&=~(0xf<<20);//
ADC2->SMPR2&=~(7<<24);
ADC2->SMPR2|=7<<24;
ADC1->CR2|=1<<0;//????AD×???
ADC1->CR2|=1<<3;// ??????????×?
while(ADC1->CR2&(1<<3));//??????×??á??
ADC1->CR2|=1<<2; //????AD??×?
while(ADC1->CR2&(1<<2)); //??????×??á?? ???í???è????×? ??×??á???±????????
ADC1->SR&=~(1<<1);
ADC1->SQR3=0xfffffC1f;//???ò?ò??
ADC1->SQR3|=1;//×????¨??8
ADC1->CR2|=1<<22;
ADC1->CR2|=1<<0;//????AD×???
ADC1->CR2|=1<<22;
ADC1->CR2|=1<<1;//AD????×???
ADC1->CR1|=1<<5; // ????????EOCIE
NVIC->ISER[0] |= (1 << (ADC1_2_IRQChannel & 0x1F));
}
|