Как считать значения с потенциометра через АЦП в STM32f4? - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь прочитать значения с потенциометра, который подключен к выводу 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 &= ~(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();
}
...