Эта библиотека используется для управления цифровыми выходами микроконтроллера. Все используемые выходы должны быть объявлены в в файле "stm32_ub_dig_out.h" и присвоены соответствующие значения настройки порта в файле "stm32_ub_dig_out.c". При инициализации каждому выходу может быть присвоено значение "0" или "1".
В примере показано управление четырьмя выходами: PB2, PB7, PC6, PC13.
Требования:
- Подключаемые модули CooCox-IDE : GPIO.
- Поддерживаемые библиотеки: отсутствуют.
Перечисления:
typedef enum { DOUT_PB2 = 0, // PB2-Pin DOUT_PB7 = 1, // PB7-Pin DOUT_PC6 = 2, // PC6-Pin DOUT_PC13 = 3 // PC13-Pin }DOUT_NAME_t;
Функции:
void UB_DigOut_Init(void); // Инициализация цифровых выходов void UB_DigOut_Lo(DOUT_NAME_t dig_pin); // Установить выход в значение "0" void UB_DigOut_Hi(DOUT_NAME_t dig_pin); // Установить выход в значение "1" void UB_DigOut_Toggle(DOUT_NAME_t dig_pin); // Переключить значение выхода void UB_DigOut_Pin(DOUT_NAME_t dig_pin,BitAction wert); // Установить заданное значение выхода
Пример использования:
//-------------------------------------------------------------- // File : main.c // Datum : 16.02.2013 // Version : 1.0 // Author : UB // EMail : mc-4u(@)t-online.de // Web : www.mikrocontroller-4u.de // CPU : STM32F4 // IDE : CooCox CoIDE 1.7.0 // Module : CMSIS_BOOT, M4_CMSIS_CORE // Function : Demo of Button Library // Reference: These two files must be written to 8MHz // "cmsis_boot/stm32f4xx.h" // "cmsis_boot/system_stm32f4xx.c" //-------------------------------------------------------------- #include "main.h" #include "stm32_ub_dig_out.h" void Delay(volatile uint32_t nCount){ while(nCount--) { } } int main(void) { SystemInit(); // Инициализация настроек кварца UB_DigOut_Init(); // инициализация всех цифровых выходов while(1) { Delay(5000000); UB_DigOut_Toggle(DOUT_PB2); Delay(5000000); UB_DigOut_Toggle(DOUT_PB7); Delay(5000000); UB_DigOut_Toggle(DOUT_PC6); Delay(5000000); UB_DigOut_Toggle(DOUT_PC13); } }
Режим работы:
GPIO-пины PB2, PB7, PC6, PC13 определяются как выход (в библиотеке)
Значение уровней выходов переключается циклически.
Библиотека, использованная в примере: stm32_ub_dig_out.
В приложении проект CooCox и отдельная библиотека для использования в других проектах. Автор оригинала статьи просит задавать вопросы на его сайте на немецком или английских языках.
Прикрепленные файлы:
- ub_stm32f4_digout_v102_rus.rar (3 Кб)
- Demo_03_DigOut_rus.rar (143 Кб)
Комментарии (0) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация