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();
}
}