GPIO

Материал из MIK32 микроконтроллер
Версия от 12:22, 5 апреля 2022; Sh-sergey (обсуждение | вклад) (Новая страница: «Пример работы с GPIO:<syntaxhighlight lang="c"> #include <mcu32_memory_map.h> #include <pad_config.h> #include <gpio.h> #include <power_manager.h>...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Пример работы с GPIO:


#include <mcu32_memory_map.h>

#include <pad_config.h>
#include <gpio.h>
#include <power_manager.h>

void initClock() {
	PM->CLK_APB_P_SET = PM_CLOCK_GPIO_0_M | PM_CLOCK_GPIO_1_M;
	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() {
	GPIO_1->OUTPUT = 1 << 13;   //Установка значения вывода порта 1 в высокий уровень
	for (volatile int i = 0; i < 500000; i++);
	GPIO_1->OUTPUT = 0;         
	for (volatile int i = 0; i < 500000; i++);
}

void main() {
	initClock();

	PAD_CONFIG->PORT_1_CFG = 0x55555555; // Установка порта 1 в режим GPIO
	GPIO_1->DIRECTION_OUT = 0xFFFF; // Установка направления порта 1 в выход

	while (1) {
		ledBlink();
	}
}