먼저 ESP32를 사용하는데 있어 아두이노 IDE를 사용하면 ESP32의 기능을 전부 사용하지 못한다.
ESP-IDF는 ESP IoT Development Framework의 줄임말로 Espressif Systems에서 공식 지원하는 프레임워크이다.
(아두이노IDE에서는 ESP-IDF 프레임워크를 래핑하고 있는 형태라고 생각하면 된다고 합니다.)
따라서 이제부터 ESP는 해당 Tool을 사용하여 개발을 진행해보겠다.
먼저 VSCode에서 해당 Tool을 사용할 수 있는데 설치하는 방법은 다음 링크에서 자세히 나와있으니 참고바란다.
(파이썬이 먼저 깔려있어야 한다)
생각보다 설치하는데 오류가 많아서 애먹었다.
내껀 폴더가 인식이 자꾸 안되서 그냥 컴퓨터 포맷할겸 전부 날려버리고 다시 설치했다.
위와 같이 설치하고, 새로운 프로젝트 생성방법은
https://blog.naver.com/alfee0/223306414215
위 블로그를 따라했다.
여기서 알아둬야할건 프로젝트 생성시 본인이 사용하는 보드는 당연히 알아야하고, port도 어디에 연결되어 있는지 (ex COM3) 알아두면 좋다.
특히 빨간 줄을 잘 맞춰주자
이후 20번 토글 작업(사이 간격 500ms)을 해주고 다시 esp32-c3를 재부팅하여 반복하도록 하는 프로그램을 만들어서 잘 설치되고 컴파일까지 되었는지 확인해본다.
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "driver/gpio.h"
#include "sdkconfig.h"
#define BLINK_GPIO 8
static uint8_t s_led_state = 0;
static void configure_led(void){
gpio_reset_pin(BLINK_GPIO);
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
}
void app_main(void)
{
int Lp = 20;
configure_led();
printf("LED Ex\n");
while(Lp != 0){
printf("Count %d, led state is %d\n", Lp--, s_led_state);
gpio_set_level(BLINK_GPIO, s_led_state);
s_led_state = !s_led_state;
vTaskDelay(500 / portTICK_PERIOD_MS);
}
esp_restart();
}
코드 입력후 F1을 눌러 ESP-IDF: open ESP-IDF Terminal을 눌러주고 Terminal에서 idf.py build을 입력해주자
컴파일이 완료되었으면 다음과 같이 반응한다.
이런게 뜨면
여기서 idf.py -p COM3 flash monitor 를 입력해주면 Terminal에 출력해주면서 LED가 토글되게 된다.
https://youtube.com/shorts/ZunZ8QI72-k?feature=share
모터 제어는 나중에 하도록하고 먼저 ESP-IDF에 익숙해져보는 시간을 가지려한다.
'ESP' 카테고리의 다른 글
ESP32C3 Super Mini / ST7796S TFT LCD -3 (0) | 2025.01.12 |
---|---|
ESP32C3 Super Mini / SD리더기 (0) | 2025.01.11 |
ESP32C3 Super Mini / ST7796S TFT LCD -2 (0) | 2025.01.09 |
ESP32C3 Super Mini / ST7796S TFT LCD -1 (0) | 2025.01.08 |
ESP32C3 SuperMini -1 (0) | 2024.12.28 |