void inits_adc(void)
{
RCC->AHB1ENR|=RCC_AHB1ENR_GPIOAEN;
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
        GPIOA->MODER |= GPIO_MODER_MODER0_1;
     GPIOA->MODER |= GPIO_MODER_MODER0_0;
     GPIOA->PUPDR &=~GPIO_PUPDR_PUPDR0_1;
     GPIOA->PUPDR &=~ GPIO_PUPDR_PUPDR0_0;

     ADC->CCR&= ~ ADC_CCR_ADCPRE;

     ADC1->CR2 |=ADC_CR2_CONT;
      ADC1->CR2 |=ADC_CR2_EXTEN;

      ADC1->CR2|=ADC_CR2_EXTSEL;
     ADC1->SMPR2 &= ~(ADC_SMPR2_SMP1_2 | ADC_SMPR2_SMP1_1 | ADC_SMPR2_SMP1_0);

    /* номер канал                             */
ADC1->SQR3 &=~ ADC_SQR3_SQ1_0;   //1 IN0
ADC1->SQR3   &= ~ ADC_SQR3_SQ3_1;     //0
ADC1->SQR3   &= ~ADC_SQR3_SQ1_2;   //0
ADC1->SQR3   &=~  ADC_SQR3_SQ1_3;     //0
ADC1->SQR3   &= ~ADC_SQR3_SQ1_4;//0

ADC1->CR2 |=  ADC_CR2_ADON;

}

void inits_adc2(void)
{

}
void inits_GPIOC(void)
{
RCC->AHB1ENR|=RCC_AHB1ENR_GPIOCEN;

  GPIOC->MODER &=~ GPIO_MODER_MODER13_1;
  GPIOC->MODER |= GPIO_MODER_MODER13_0;
  GPIOC ->OTYPER &=~GPIO_OTYPER_OT13;
  //бит0 определяет скорость работы GPIO
   GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR13_1; //бит1
   GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR13_0;
   GPIOC->PUPDR |=GPIO_PUPDR_PUPDR13_1;
   GPIOC->PUPDR &=~ GPIO_PUPDR_PUPDR13_0;
   /*     настройка на вход     */

// RCC->AHB1ENR|=RCC_AHB1ENR_GPIOCEN;

  GPIOC->MODER &=~ GPIO_MODER_MODER0_1;
  GPIOC->MODER &=~ GPIO_MODER_MODER0_0;
  GPIOC ->OTYPER &=~GPIO_OTYPER_OT0;
  //бит0 определяет скорость работы GPIO
   GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR0_1; //бит1
   GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR0_0;
   GPIOC->PUPDR &=~ GPIO_PUPDR_PUPDR0_1;
   GPIOC->PUPDR |= GPIO_PUPDR_PUPDR0_0;

  GPIOC->MODER &=~ GPIO_MODER_MODER1_1;
        GPIOC->MODER |= GPIO_MODER_MODER1_0;
       GPIOC ->OTYPER &=~GPIO_OTYPER_OT1;
       //бит0 определяет скорость работы GPIO
        GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR1_1; //бит1
        GPIOC->OSPEEDR &=~ GPIO_OSPEEDER_OSPEEDR1_0;
        GPIOC->PUPDR |=GPIO_PUPDR_PUPDR1_1;
        GPIOC->PUPDR &=~ GPIO_PUPDR_PUPDR1_0;
}

int main(void)
{
inits_GPIOC();
inits_adc();

//inits_timer1();
inits_timer3();
inits_timer5();
//inits_timer3();

    while(1)
    {

    ADC1->CR2 |= ADC_CR2_SWSTART; //Запуск преобразований
    while (!(ADC1->SR & ADC_SR_EOC)); //ждем пока первое преобразование завершится
    ADC1->SR &=~ADC_SR_EOC ;
    adc_data = ADC1->DR;

                      if(adc_data > 2024)
                      {
                     //  GPIOC->ODR|=1<<13;
                       GPIOC->BSRR |= GPIO_BSRR_BS13;
                      }
                     else
                      {
                     //  GPIOC->ODR&=~1<<13;
                     GPIOC->BSRR |= GPIO_BSRR_BR13;
                    }
    }
}