GPIO
Материал из MIK32 микроконтроллер
Пример работы с GPIO:
#include <mcu32_memory_map.h> #include <pad_config.h> #include <gpio.h> #include <power_manager.h> // Установите в соответствии с подключением светодиода #define LED_PORT GPIO_1 // Порт #define LED_PIN 3 // Вывод порта #define CLOCK_GPIO_PORT PM_CLOCK_GPIO_1_M // Тактирование порта #define PIN_MODE_GPIO 1 // Режим вывода - GPIO #define PIN_MODE_PORT PORT_1_CFG // Регистр управления режимом порта void initClock() { PM->CLK_APB_P_SET = CLOCK_GPIO_PORT; PM->CLK_APB_M_SET = PM_CLOCK_PAD_CONFIG_M | PM_CLOCK_WU_M | PM_CLOCK_PM_M; for (volatile int i = 0; i < 10; i++) ; } void ledBlink() { LED_PORT->OUTPUT = 1 << LED_PIN; // Установка значения вывода порта 1 в высокий уровень for (volatile int i = 0; i < 1000000; i++); LED_PORT->OUTPUT = 0; for (volatile int i = 0; i < 1000000; i++); } int main() { initClock(); PAD_CONFIG->PIN_MODE_PORT = PIN_MODE_GPIO << (LED_PIN << 1) ; // Установка порта 1 в режим GPIO LED_PORT->DIRECTION_OUT = 1 << LED_PIN; // Установка направления порта 1 в выход while (1) { ledBlink(); } }