Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 886

Программирование АЦП ADC_10_F103C

08.05.2025, 12:14. Показов 5224. Ответов 69
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Хотел бы научиться программировать АЦП на C/C++. Мне нужно оцифровать аналоговые сигналы с датчиков, подключенных к АЦП (диапазон напряжений 0-3В). Приобрел АЦП https://aliexpress.ru/item/100... 675ahH6GGB. В описании сказано, что АЦП содержит встроенный основной управляющий чип STM32F103C8T6. Драйвер АЦП установился (скриншот прикрепил). Подскажите, пожалуйста, какие команды нужно использовать для управления АЦП (чтение напряжений на контактах АЦП, установка параметров АЦП и др.)? Мне нужно искать систему команд для чипа STM32F103C8T6?
Изображения
 
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2025, 12:14
Ответы с готовыми решениями:

Расширение АЦП микроконтроллера и подключение к АЦП датчиков
Здравствуйте. У меня встала задача сделать устройство для элеватора, для контроля температуры в 864...

Mega16 и неиспользуемый АЦП (питание ацп?)
Если я не использую АЦП контроллера нужно ли подавать на АЦП питание? Если нет, то просто оставить...

Как связать таймер с АЦП и АЦП с DMA?
Вообщем стоит такая задача: через определенные интервалы времени периодически запускать...

69
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
12.05.2025, 18:00
Студворк — интернет-сервис помощи студентам
tumanovalex, если есть желание/необходимость конкретно погрузится в разработку на STM, то ST-Link не только "лучше", но будет крайне необходим.
Если проект - помигать светиком, то он не нужен. А когда дело дойдет до более серьезных вещей, то нужно будет иметь инструменты для пошаговой отладки программы.
На платах именно для этого предусмотрены SWD/JTAG интерфейсы.

Вот, к примеру, на моей 429-Discovery ST-Link внедрен прямо в плату (обведено кружком), а выводы SWD сверху (обведено прямоугольником) - позволяют использовать ее же в качестве программатора для других плат..
0
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 886
12.05.2025, 18:12  [ТС]
Понятно. Закажу.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
12.05.2025, 18:21
tumanovalex, для твоей платки вот такой сойдет. 120р.
Лучше штуки 3 покупай, а то народ говорит иногда проблемы бывают..

Добавлено через 1 минуту
Я сам пользуюсь таким.
Но этот на али, похоже тоже поддельный, т.к. свой я покупал за почти 1,5 рубля.
0
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 886
12.05.2025, 18:27  [ТС]
Спасибо за ссылки.
0
0 / 0 / 0
Регистрация: 10.05.2025
Сообщений: 24
12.05.2025, 18:49
wizard41, кстати вопросик а есть ли разница между ними?
https://aliexpress.ru/item/100... 1629yKMN19

https://aliexpress.ru/item/100... 9391365850
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
12.05.2025, 19:26
Цитата Сообщение от BigSten Посмотреть сообщение
есть ли разница между ними?
Конечно есть.
Первый только SWD, а второй в придачу JTAG + доп. сигналы (например сброс при прошивке/окончании и т.п.).
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
12.05.2025, 19:44
BigSten, вот как он выглядит на прототипе "в живую":
Кликните здесь для просмотра всего текста

В данном случае по SWD.
0
Заблокирован
12.05.2025, 22:04
Цитата Сообщение от tumanovalex Посмотреть сообщение
А какие это МК?
Ну, хоть те же 042 и 072. Еще 303 и т.п.
Цитата Сообщение от tumanovalex Посмотреть сообщение
вместо PL2303 лучше использовать ST-Link?
Ну объяснили же уже! Прошить МК можно большим количеством способов (ведь помимо SWD/JTAG, бутлоадера по USART1 и DFU, встроенный бутлоадер умеет I2C, SPI и CAN!!!). Самый простой зависит от камня: если есть DFU - то DFU, если нет - то USART1 (просто, ЕМНИП, никто не заморачивался и не писал софт, чтобы прошивать через I2C/SPI/CAN, тем паче для прошивки через эти интерфейсы нужны преобразователи).
А вот для отладки есть лишь SWD/JTAG. Благо, внутрисхемная отладка нужна практически никогда.

И да: отладка по SEW/JTAG останавливает камень. Поэтому в большинстве случаев от нее никакого толку нет! И когда я (да и, думаю, все) осваивал USB на STM32, пользовался исключительно отладкой по USART (3Мбод, выплевывал всю нужную мне информацию; понятно, пришлось завести два буфера по полкилобайта-килобайту и пользоваться DMA для отправки очередного).

Добавлено через 6 минут
Цитата Сообщение от wizard41 Посмотреть сообщение
поддельный
Нормальный, NRST подключен и --connect-under-reset работает.

Добавлено через 4 минуты
Цитата Сообщение от wizard41 Посмотреть сообщение
в придачу JTAG
Вообще не встречал людей, кто пользовался бы JTAG! Для этого слишком большим количеством ног нужно пожертвовать. А у меня в доброй части железок и SWD отключен, т.к. ног не хватает! Есть три уровня отладки: 1) внимательно читаем свой код, 2) выводим сообщения на USB или US[A]RT, 3) когда уж совсем дело дрянь, пытаемся SWD использовать.
Фактически, как я уже выше писал, только один или два раза мне реально помог SWD: проверил, что в регистрах все правильно, но периферия не работала. Оказалось, что вместо нужного МК китайцы мне отбраковку подсунули (скажем, вместо F103C8 засунули F103C6, но с таким же количеством флеша и ОЗУ, как в восьмерке; а периферия нужная отсутствует)…
0
Заблокирован
12.05.2025, 22:09
А вот так выглядит мой позор. Крайне быстро хотелось сделать "девборду", а фоторезис уже поперек горла стоит (да и паять LQFP, даже такой простой, без паяльной маски - тот еще мазохизм).
[Везде между ногами A12 и A15 впаиваю резистор 1.5кОм, а ненужный 10кОм с нижней стороны выпаиваю - простейший способ управлять подтяжкой USB DP на "синей таблетке". Можно, конечно, поменять 10к на 1.5к, а ногу DP переводить в режим GPIO на время инициализации USB, подтягивая к земле, но это - более "грязный хак".]
Миниатюры
Программирование АЦП ADC_10_F103C  
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
12.05.2025, 22:44
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Благо, внутрисхемная отладка нужна практически никогда.
Ну, как сказать, как сказать... Все зависит от конкретных проектов.
Разумеется, для "начинающих" может и не надо (под вопросом?). А есть случаи, когда нужно рассмотреть, например, правильность заполнения массива по некоторому синхро-сигналу... Ни какие USART'ы тут не помогут, ибо пока он отправит текущее состояние - положение вещей успеет изменится уже 100 раз. Контролировать процесс исполнения программ в МК намного удобнее специально разработанными для этого методиками и (!) специально для этого предназначенными встроенными модулями в сам МК.

Цитата Сообщение от Eddy_Em Посмотреть сообщение
отладка по SEW/JTAG останавливает камень. Поэтому в большинстве случаев от нее никакого толку нет!
Не хочу бросить тень на ваш опыт, но других читающих предупрежу: данное высказывание я отношу к анти-советам.
При входе в режим отладки - остановка работы CPU совершенно правильное действие. Далее, можно продолжить работу пошагово, до точки останова или полностью без остановки. При этом получая точные состояния и значения переменных внутри МК на конкретный момент. Это очевидные вещи при отладке, для этого она и существует.

Цитата Сообщение от Eddy_Em Посмотреть сообщение
А вот так выглядит мой позор.
На макетке ?? - это шедевр!
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
12.05.2025, 22:48
Моя текущая разработка уже в релизе:
Кликните здесь для просмотра всего текста

Тоже позор, шелк печатать было лень...
0
12 / 9 / 4
Регистрация: 30.09.2020
Сообщений: 31
12.05.2025, 22:54
tumanovalex, А Вы не пробывали читать datasheet , ну или если хотите HAL и CUBEMX, то https://istarik.ru/blog/stm32/113.html
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
12.05.2025, 23:04
А, забыл это прокомментировать:
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Нормальный, NRST подключен и ...
Цитата Сообщение от Eddy_Em Посмотреть сообщение
китайцы мне отбраковку подсунули
Теперь понятно, почему я приобрел ST-Link не на али-барахолке за 300р, а в нормальном магазине за 1,5к, причем пр-ва Тайвань?
Как говорится: почувствуйте разницу
0
Заблокирован
13.05.2025, 09:47
Цитата Сообщение от wizard41 Посмотреть сообщение
Это очевидные вещи при отладке, для этого она и существует.
Ну вот и попробуйте остановить конечный автомат USB. Комп подождет немножко, не дождется ни NACK, ни ACK, решит, что устройство померло и отключит его.
Очень много подобных вещей, где ни в коем случае нельзя тормозить камень.
Ну, а пошаговая отладка, как я уже говорил, бывает нужна практически никогда. Скажем, в случае, если явно непонятно, почему камень уходит в хардфолт: можно посмотреть, с какого адреса был вызов прерывания, да увидеть проблемное место. Понятно, что даже внимательное чтение кода не спасет от обращения к невыровненной переменной в Cortex-M0 (если твердо не помнить это как истину, что переменные в структурах должны быть выровнены, а не упакованы, скажем, для хранения во flash).
Цитата Сообщение от wizard41 Посмотреть сообщение
это шедевр!
До сих пор на телескопе висит, но для прототипа я таки плату развел, заказали намедни в Китае.
Это что! Когда у нас на БТА отмер pep-контроллер азимутальной оси, я в течение рабочего дня (тоже на макетке) сварганил для него замену, за пару часов всю эту паутину подключили и оно заработало! Благо, функционал был элементарный и прошивку я прямо на месте буквально за час-полтора отладил и телескоп заработал. Потом это тоже переросло в нормальный вид.
Кстати, для многих наших задач очень удобным оказался китайский клон контроллера FX3U. Естественно, с моей прошивкой, чтобы можно было его вменяемыми средствами программировать.
Цитата Сообщение от wizard41 Посмотреть сообщение
шелк печатать было лень
Встречал некоторых разработчиков, которые специально не печатают, чтобы "запутать конкурентов". Еще и прошивку "лочат"…
Цитата Сообщение от wizard41 Посмотреть сообщение
Теперь понятно, почему я приобрел ST-Link не на али-барахолке за 300р, а в нормальном магазине за 1,5к, причем пр-ва Тайвань?
Ну, у меня больше сотни C6T6. Сначала покупалось немного у разных производителей партиями по 5-10 штук "на пробу". Я их проверял по-максимуму, а потом уже в нужном количестве закупали там, где все ОК.
Будете, наверное, смеяться, но у меня уже под десяток разных изделий работает, в которых больше, чем 95% компонентов (в т.ч. и сами печатные платы) приобретены на "алике"!
Да многое и просто невозможно в России купить: пытались в прошлом году купить пяток "настоящих" ИК-датчиков MLX90640 (нужно, чтобы ИК-allsky сделать). На алике они по 2500, а у нас от 10тыр за штучку. ОК, в нескольких местах товарищ списался, но в большинстве ответили, что не могут поставить, т.к. "ссанкции". В одном месте даже счет оплатил, а через 2 недели вернули деньги с извинениями, мол, даже через Казахстан не смогли. Пришлось брать по 5 датчиков у двух разных продавцов на алике. У обоих все работает, но, увы, датчики - отбраковка (не настроены на работу с отрицательными температурами). К счастью, оказалось, что даже в таком виде они "видят" разницу между чистым небом и облаками.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
13.05.2025, 11:27
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Ну вот и попробуйте остановить конечный автомат USB. Комп подождет немножко, не дождется ни NACK, ни ACK, решит, что устройство померло и отключит его.
Вы про софтовый USB что ли? Аппаратный-то прекрасно пошлет хоста НАК. Но бесконечно тот это терпеть не будет, это да.
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Ну, а пошаговая отладка, как я уже говорил, бывает нужна практически никогда.
Ну, пару случаев, когда было бы полезно руками заглянуть в регистры, я припомнить могу. Вот недавно пытался запустить stm32u5, собираю первую в жизни прошивку для этого камня, прошиваю - а не работает. Подключился по SWD и смотрел pc и прочие регистры. Не то чтобы сильно помогло, правда... Проблема оказалась в кривом стартап коде и линкер скрипте: стартап то ли не компилировался, то ли вставлялся в конце, уже точно не помню.
Теоретически, еще с первоначальным освоением простейшей периферии может помочь. Ну там таймеры, UART - чтобы дергать регистры руками, а не прошивать камень каждый раз.
Возможно, люди, освоившие внутрисхемную отладку, могли бы накидать более полезных примеров.
Цитата Сообщение от Eddy_Em Посмотреть сообщение
простейший способ управлять подтяжкой USB DP на "синей таблетке".
Нафига там управлять подтяжкой? Достаточно ведь напаять 1.5к поверх китайского 10к (это если лень выпаивать).
0
Заблокирован
13.05.2025, 11:40
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Нафига там управлять подтяжкой?
Чтобы не переключать ногу USB DP в режим GPIO PP out, прижимая ее к земле на время, чтобы "переподключиться".
Понятно, что этот способ работает, но все-таки в спецификациях USB про такое ничего не сказано, там либо в воздухе, либо подтянуто через резистор к земле/питанию, но не напрямую на земле.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3463 / 2784 / 575
Регистрация: 04.09.2018
Сообщений: 8,757
Записей в блоге: 3
13.05.2025, 12:13
По поводу отладки: не хочется холиварить на эту тему, понятно что надобность того или иного инструментария определяется потребностями самого разработчика. Однако, если это кому-то не нужно (не видит в этом пользы) - это не значит, что это не нужно абсолютно всем.

Отладка применяется не только в каких-то фатальных случаях или ошибках: с помощью нее можно просмотреть какие-л. данные процесса, проверить/изменить какие-л. коэффициенты... изменить "руками" направление ветвления какого-л. алгоритма и все такое прочее. Причем все это можно сделать прям из коробки, без танцев с UARTами / USB..
Например, нужно выставить в каком-нить регуляторе поправочный коэффициент и забыть про него. Очень странно городить для этого полноценный обмен через USB/UART... Это довольно трудоемко (для начинающих), плюс не всегда удобно - лепить транспортные примочки/преобразователи, куда-то выводить в терминалы + как-то вводить данные обратно + в программе МК предусматривать изменение данных из внешнего мира...
В общем, тут это явно лишнее.
Пользоваться этим или нет - каждый определит сам для себя, но знать про такую возможность нужно. Вот ТС явно не знал...

Цитата Сообщение от Eddy_Em Посмотреть сообщение
клон контроллера FX3U
Кто только над этими FX не изгалялся.. В свое время я тоже участвовал в подобных экзекуциях, только на настоящих FX3U/2N..

Цитата Сообщение от Eddy_Em Посмотреть сообщение
приобретены на "алике"!
Нет, ну я не утверждаю что на алике прям все плохо и абсолютно все поддельное и некачественное. Но такие явления все же все чаще и чаще.. Заказал я было там пару транзисторов IRFP640... Так оба не выдержали и 25% своей официальной нагрузки в ключевом режиме на частоте 50к.. После этого приходится такие вещи брать "мешками" и сидеть отбраковывать..
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
13.05.2025, 13:03
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Чтобы не переключать ногу USB DP в режим GPIO PP out, прижимая ее к земле на время, чтобы "переподключиться".
То есть вы считаете, что лучше задействовать лишнюю ногу, чем... Чем что? Какие недостатки у обычного отключения через подтягивание к земле?
Цитата Сообщение от wizard41 Посмотреть сообщение
Однако, если это кому-то не нужно (не видит в этом пользы) - это не значит, что это не нужно абсолютно всем.
Равно как и наоборот. Если этим кто-то пользуется, это не значит, что все обязаны.
0
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 886
13.05.2025, 13:09  [ТС]
Цитата Сообщение от Polkovnik_ Посмотреть сообщение
А Вы не пробывали читать datasheet , ну или если хотите HAL и CUBEMX
Спасибо за ссылку, обязательно почитаю.
0
Заблокирован
13.05.2025, 14:44
Цитата Сообщение от wizard41 Посмотреть сообщение
IRFP640
Вот вероятность нарваться на подделку силовых элементов очень высока. Товарищ Лисин достаточно много интересных роликов выкладывал про "вскрытие" транзисторов.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Какие недостатки у обычного отключения через подтягивание к земле?
Не по канону как-то. Иначе во всех устройствах именно так и делали бы, но я везде встречаю подтяжку отдельной ногой. Разве что можно по умолчанию ее держать отключенной (если DTA114 использовать), а можно - включенной (мосфетом). Второй вариант необходим для обеспечения работы DFU, первый годится для всего, где DFU нет или не планируется его использовать.
Цитата Сообщение от tumanovalex Посмотреть сообщение
почитаю
Только ни в коем случае не пользоваться калокубом! Это - путь в днище…
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.05.2025, 14:44

Алгоритм работы с ацп АЦП STM32F103
Здравствуйте, уважаемые форумчане. Подскажите пожалуйста алгоритм работы с ацп. Допустим мне надо...

АЦП, вопрос по книге Ю.Ревич "Практическое программирование
Ю.Ревич "Практическое программирование МК AVR на языке ассемблер" страница 46 Заметки на полях ...

Сопряжение микроконтроллера с АЦП
Мне нужно соеденить микроконтроллер КР1816ВЕ31 с АЦП КР572ПВ3...Как это сделать? Помогите, не могу...

Нарисуйте блок-схему программы для АЦП на ATMega8
Ай нид хелп! Дабы уйти в последний бой, я пытаюсь запустить АЦП на Atmega8. Собственно, нужна...

ATtiny13. Работа с АЦП (Си)
необходима информация о том, как правильно можно использовать ЦАП и компаратор в паре, а именно с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru