Аналогово-цифровой преобразователь - это узел, который "оцифровывает" мгновенное значение напряжения. В STM32F1 содержится два 12-битных преобразователя, а это значит, напряжения на любом канале АЦП будут представлены значением от 0 до 4095. Какое напряжение на канале на самом деле, вы сможете понять, если наверняка знаете напряжение питания АЦП (VDDA). Предположим, что питание микроконтроллера 3.30V, это значит, что показание АЦП 4095 соответствует этому напряжению, 3.30V. Показание АЦП 2048 единиц, это будет 1/2 от VDDA, а конкретно 1.65V. Эти величины меняются линейно, в зависимости от напряжения на канале АЦП. При напряжении питания 3.3В "вес единицы" АЦП будет 0.806 мВ. При напряжении питания 2.8В "вес единицы" АЦП будет 0.684 мВ. Думаю, принцип вы уже поняли.
АЦП не может замерять напряжение на нескольких каналах одновременно. Между АЦП и каналами стоит мультиплексор, который может захватывать только один из десяти возможных каналов. Однако если измерять каналы быстро по очереди, то можно создать эффект параллельности измерений. Эффективно и достаточно точно значения измеряются при меньшей частоте работы АЦП и большем Sampleticks. Более-менее сносно можно делать около 18000 замеров (выборок) в секунду. Минимальное время выборки для 12-битного режима - 1 мкс (то есть до 1000000 выборок в секунду при тактовой частоте АЦП 14 МГц).
В этом уроке мы будем пользоваться АЦП STM32F103 в самом простом режиме — одиночной конверсии. Это когда за одно преобразование мы обрабатываем только один канал. В этом уроке я покажу неблокирующую работу с АЦП (без прерываний) на разных каналах.

Казалось бы, что может быть знакомее старой доброй AVR? Она на начало 2025-го настолько уже мне была неинтересна, что я даже не подозревал как сильно она мне понадобится. А еще, меня обескуражило то, как это непросто и нетривиально: работать с ATTINY10. Эта история для вас будет поучительной, потому что задача решена и остается лишь взять наш опыт на вооружение. Здесь нет никаких революционных открытий, но все же я делаю упор на предоставление расширенной информации. То что мне не удавалось прочитать "между строк" где-то в одном месте, но пришлось собирать информацию по сети, проверять и конечно - делиться!