Синяя таблетка ведет себя так, как если бы у нее был 10-битный АЦП

Я только что купил таблетку STM32F103C8 Blue. У меня странное поведение с аналоговыми показаниями. Он ведет себя так, как если бы единица измерения была 10-битной, а не 12-битной.

Я загрузил очень простой код Arduino ниже. Только для чтения аналогового входа A0.

void setup() {
  Serial.begin(38400);
}
void loop() {
  Serial.println(analogRead(A0));
  delay(1000);
}

Если я подключу контакт A0 к 3,3 В, я получу этот вывод ниже.

1022
1022
1023
1022
1022
etc...

Если я подключаюсь к источнику 1,5 В, указанные выше значения становятся около 500.

Все это ведет себя так, как будто на самом деле это 10 бит, чего я не понимаю. Есть идеи, почему?

, 👍0


2 ответа


2

Если вы запускаете на нем код Arduino, возможно, имеет смысл иметь 10-битные показания АЦП на этой платформе, как и на всех других платформах Arduino. Если только вы не настроите библиотеки для возврата полных 12-битных файлов, если это вообще возможно.

Однако это больше вопрос о платформе Arduino.

,

1

Добавление следующей строки в раздел setup() решает проблему.

analogReadResolution(12)
,

Ваш ответ может быть улучшен с помощью дополнительной вспомогательной информации. Пожалуйста, [измените], чтобы добавить дополнительные сведения, такие как цитаты или документация, чтобы другие могли подтвердить правильность вашего ответа. Дополнительную информацию о том, как писать хорошие ответы, можно найти [в справочном центре](/help/how-to-answer)., @Community