RTOS
GPIO 이용한 LED 제어
반도체 소프트웨어 엔지니어
2024. 1. 4. 20:41
- 아무래도 다음과 같은 잉여 핀을 GPIO 용도로 셋팅해야하는 것으로 보임(초반에 이상한 핀을 사용했더니 오류 발생)
- LED 점멸 영상 with GPIO
- 태스크 생성해서 PG2 핀을 사용한 빨강색 LED 제어 소스코드
/* FreeRTOS.org includes. */
#include "main.h"
#include "cmsis_os.h"
#include <stdio.h>
/* MACRO Variable */
#define TASK_MAIN_PRIO 20
/* TASKS Implementation */
static void TaskMain(void const *params);
/* Global Variable */
TaskHandle_t xHandleMain;
void USER_TASK(void)
{
xTaskCreate((TaskFunction_t)TaskMain,
"TaskMain",
256,
NULL,
TASK_MAIN_PRIO,
&xHandleMain );
}
static void TaskMain(void const *params)
{
printf("1. USER TASK CREATE SUCCESS!\n");
while (1)
{
HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_RESET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOG, LD3_Pin|LD4_Pin, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOG, GPIO_PIN_2, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOG, GPIO_PIN_2, GPIO_PIN_RESET);
HAL_Delay(500);
}
}