Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
Otix_82

STM32F103C8T8 проблема с GPIO в режиме аналогового входа

18.09.2016, 02:05. Показов 3148. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток.
Проблема такова, надо использовать ADC. Сам ADC работает хорошо, но при измерениях на пине чушь. Убедился железно - тестером. Если пин в воздухе, но на нем половина питания 1,67 вольта. Что тока не делал... Вот код конфига порта
Code
1
2
3
4
5
6
7
GPIO_DeInit(GPIOA);
// C - Init the GPIO wyth the structure - Testing ADC
// Config PA1 as analog input
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init (GPIOA, &GPIO_InitStructure);
GPIA->CLR = 0x44444404 (из дебага)

Как отключить подтяжку напрочь?
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2016, 02:05
Ответы с готовыми решениями:

Защита аналогового входа МК
Здравствуйте. Я понимаю, что данная тема уже много раз обсуждалась и на этом форуме, и в других местах, но у мя есть пара вопросов...

Сигнал аналогового входа в С++
Можно ли при помощи сигнала аналогового входа микрофона запустить какое-то действие в консольном c + +. Если возможно, то как это...

Сигнал аналогового входа в С++
Можно ли при помощи сигнала аналогового входа микрофона запустить какое-то действие в консольном c + +. Если возможно, то как это...

9
0 / 0 / 0
Регистрация: 14.03.2016
Сообщений: 78
18.09.2016, 05:03
посмотрите
http://microtechnics.ru/stm32c... e-acp-adc/

может поможет (сам проделывал все работает)
0
Otix_82
18.09.2016, 08:36
Прорубую тоже. Но очень не хочеться бегать меж stdperiph и hal. У меня готов проект, за исключением данного неприятного момента.
Может кто подскажет всетаки как это сделать оставаясь работать с stdperiph?
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
18.09.2016, 09:26
Цитата Сообщение от Ifym25
посмотрите
http://microtechnics.ru/stm32c... e-acp-adc/
может поможет (сам проделывал все работает)
Не поможет однозначно, и лучше подобный бред обходить стороной.

Otix_82, читайте http://we.iosyitistromyss.ru/STM32/demo ... stm32.html
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
18.09.2016, 10:47
Otix_82, если вход ADC не подключен, либо последовательный резистор ооооочень большой, то на входе будет считываться как раз Vdd/2. Это особенность аппаратной реализации ADC у STM.
Если предельно утрировать, считайте, что вход ADC притянут к Vdd/2 через резистор порядка 100 Мом. Если последовательное сопротивление на входе будет большим (доли-еденицы МОм), то показания слегка сместятся к центру (Vdd/2) и "0" станет уже не 0, а чуть больше. Так же и с высокими уровнями - макс (Vdd) уже будет не макс (4095), а немного меньше.
Не делайте входной резистор высокоомным.
0
Otix_82
18.09.2016, 12:59
Понял. Попробую подтянуть к земле.
Статью прочитал.
Это мой первый проект на STM32. До этого все на пиках делал.
О результате отпишусь.
Otix_82
18.09.2016, 13:49
Поставил 100к на землю. Напряжение упало до 0.5 вольт (грубо).
Придется поставить эмитерный повторитель.
Динный сюрприз не прятный для меня.
0 / 0 / 0
Регистрация: 02.06.2016
Сообщений: 241
18.09.2016, 14:29
Если есть в схеме лишний ОУ, то можно повторителем.
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
18.09.2016, 14:34
Поставьте больше время выборки, дефект сильно снизится. Также может помочь перейти на однократные/редкие измерения и установка конденсатора по входу ADC (1n и больше).
0
Otix_82
18.09.2016, 17:40
К сожалению, ОУ в этом девайсе нет.
Выборки делаются цилически, и по прерыванию надо отслеживать сигнал.
Спасибо что помогли разабраться!
Изначале грешил на подтяжку.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2016, 17:40
Помогаю со студенческими работами здесь

Вывод значение с аналогового входа на экран
Хочу вывести значение с входа A0 на OLED экран. Подключил для работы с дисплеем библиотеку adafruit. Библиотечные примеры прекрасно...

Siemens S7-300. Нормализация и преобразование величин с аналогового входа
Добрый день! Говорю сразу, вопрос детский, но вот что то никак не могу пройти дальше. Итак: С контроллерами Сименс столкнулся...

Считывание данных с аналогового входа адаптера FX1N-2AD-BD
Всем привет! Подключил выход (0,5-4,5 В) датчика давления ко входу V+ адаптера FX1N-2AD-BD на FX1N Mitsubishi. Программу записал в GX...

[Mitsubishi FX2N (GX Works2)] По значению с аналогового входа и включать/отключать дискретный выход
Добрый день Подскажите пожалуйста простой пример, если на аналоговый вход на ПЛК приходит какой-то сигнал допустим 4-20 мА, преобразовать...

Проблема с GPIO STM32F415
Здравствуйте! Осваиваю контроллер STM32F415RGT6 и неожиданно столкнулся с трудностями при проведении элементарной операции-моргание...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru