Заголовок сообщения: stm32 АЦП, решить проблему с калибровкой
Добавлено: Чт янв 07, 2021 22:01:43
Первый раз сказал Мяу!
Зарегистрирован: Сб мар 02, 2013 16:42:11 Сообщений: 22
Рейтинг сообщения:0
Мяу, уважаемые гуру и др. знатоки! Недавно приступил к изучению STM32. Мучаю плату NUCLEO-L452RE-P (контроллер STM32L452RE). Использую STM32CubeIDE 1.3.0. и библиотеку HAL. Упёрся, похоже, безнадёжно без посторонней помощи, в следующую проблему. Пытаюсь заставить АЦП обрабатывать: - одну пару каналов для дифференциального входа, - один канал для обычного, - и три внутренних: Temperature Sensor Chanel, Vbat и Vrefint. А тут в засаде калибровка! Для дифференциального входа HAL имеет: HAL_ADCEx_Calibration_Start(&hadc1, ADC_DIFFERENTIAL_ENDED); Для обычного: HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); Как произвести калибровку, чтобы угодить всем каналам? Спасибо ответившим и сочувствующим.
Можно почитать RM и сделать так, как там написано. Правда, неожиданный совет? )) Нужно делать две калибровки, одну для single, второй для diff. Процесс запуска ADC семейства F3/L4 должен выглядеть так: - disable - включить power - delay >10us - запустить калибровку single end каналов - после выставления флага завершения ЕЩЕ ждать - запустить калибровку дифф. каналов - после выставления флага завершения ЕЩЕ ждать. У меня в записях на полях написано следующее - "После калибровки надо подождать, задержка нужна и 10us иногда не хватает! Без нее ADC не записывает регистры далее и не стартует." Всё написано в RM и Errata.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения