Как считывать значения с потенциометра через АЦП в STM32f4?

#arm #keil #stm32f4discovery #adc

#arm #keil #обнаружение stm32f4 #АЦП

Вопрос:

Я пытаюсь считывать значения с потенциометра, который подключен к контакту A0 (канал 0 АЦП платы обнаружения STM32f407VG). Я прикрепил свой код. Проблема в том, что значения, которые я считываю, не только постоянны, но и не зависят от вращения потенциометра. Хотя я много искал, мне не удалось решить проблему. Можете ли вы помочь мне найти неправильную часть в моем коде? Большое вам спасибо.

 GPIOA->MODER |= GPIO_MODER_MODE0_Msk; //Set as PA0 as Analog Mode

RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; //Enable the ADC clock

ADC1->SQR1 = 0x00000000; //1 Convertion
ADC1->SQR2 = 0x00000000; 
ADC1->SQR3 = 0x00000000; //0'th channel will be converted first

ADC1->SMPR2 = 0x00000005; //sampling time - 112 cycles
ADC1->CR2 |= ADC_CR2_CONT_Msk; //Enable continious mode
ADC1->CR1 amp;= ~(ADC_CR1_SCAN_Msk); //Disable Scan mode
ADC1->CR2 |= ADC_CR2_ADON; //Enable ADC

while(1)
{
    ADC1->CR2 |= ADC_CR2_SWSTART_Msk; //Start convertion
    LCDSendAnInteger((ADC1->DR), 7); //Display value in LCD
    notExactTimeDelay(1000000);
    LCDClearDisplay();
}
  

Комментарии:

1. Изменяется ли значение при нажатии пользовательской кнопки на плате?

2. Я действительно это не проверял. Я сделаю и дам вам знать.

3. Я проверил. Ничего не происходит. Мне просто интересно, соответствует ли код, который я прикрепил, истине, или у меня проблема с оборудованием?