Перейти до основного вмісту

Модуль ADC MCAL

Підтримувані родини STM32: H5
Не підтримуються: G4, H7, L4, U5

Модуль ADC (Analog-to-Digital Converter) MCAL надає рівень абстракції для керування периферією аналого-цифрового перетворення в мікроконтролерах STM32.
Цей модуль є частиною рівня MCAL і забезпечує уніфікований API для різних родин STM32.
Різні родини підтримуються в окремих гілках; користувачі можуть перейти на гілку, що відповідає їхній родині MCU.


Можливості​

  • Ініціалізація та деініціалізація периферії ADC
  • Обробник завдань для періодичного обслуговування
  • Підтримка отримання конфігурації за замовчуванням
  • Стандартизовані значення стану запиту, що повертаються
  • Підтримка версіонування для керування модулями

Публічний API​

Інформація про модуль​

  • adc_ModuleVersion_t Adc_Get_ModuleVersion ( void );
    Повертає поточну версію модуля ADC.

Ініціалізація​

- adc_RequestState_t Adc_Init ( adc_PeriphConfig_t * const adcConfig );

Ініціалізує периферію ADC із наданою конфігурацією.

- adc_RequestState_t Adc_Deinit ( adc_PeriphConfig_t * const adcConfig );

Деініціалізує периферію ADC і скидає конфігурацію.

- void Adc_Task ( void );

Обробляє періодичні завдання, пов'язані з ADC (якщо цього вимагає реалізація).

- adc_RequestState_t Adc_Get_DefaultConfig ( adc_PeriphConfig_t * const adcConfig );

Отримує структуру конфігурації за замовчуванням для ініціалізації ADC.


Примітки щодо використання​

  • Модуль ADC залежить від апаратури і має налаштовуватися для кожної гілки родини STM32.
  • API конфігурації за замовчуванням допомагає забезпечити безпечну ініціалізацію.
  • Функцію Task слід викликати періодично, якщо реалізовано асинхронну обробку або фонове опрацювання.

🛠 Інтеграція з CMake

target_link_libraries(User_Lib PRIVATE Adc_Lib)

Ліцензія​

Цей проєкт ліцензовано за Creative Commons Attribution–NonCommercial 4.0 International (CC BY-NC 4.0).

Ви вільні використовувати, змінювати та поширювати цю роботу в некомерційних цілях за умови належного зазначення авторства.

Повні умови дивіться у LICENSE.md або на creativecommons.org/licenses/by-nc/4.0.


Автори​

Внески вітаються! Будь ласка, відкрийте pull request.


🌐 Корисні посилання​