ESP32 IDF 2일차 Blink

서론

프로그래밍을 처음 시작한다면 당연히 거쳐야하는 그것을 해야한다.
바로 그것은 Hello World!

또, 보드를 처음 다룬다면 무엇을 해야겠는가..!

Blink ~!!

오늘은 보드의 Hello World 인 Blink 를 해보자

Example

해결 못한 방법

하지만 모든 자료는 이미 주어졌다.

C:\esp-idf\examples\get-started

위 경로에 가면 준비된 자료가 있다 한번 사용해보자.
해결 못한 방법 아래쪽에 다른 방법있음

파일 예제를 복사해서 ESP-idf 작업공간에 붙여넣는다.


이제 ESP-idf 를 열고

File -> Open Projects from file System..

열고 싶은 프로젝트를 선택한다. (Blink, Hello World)

하지만 이 파일은 ESP-idf 파일이지만 eclipse에서 돌아가는 파일이 아니였다.

[?]모양이 보이는가

다른 방법

그래서 다른 방법을 찾아보았는데

그 방법은 처음 프로젝트를 만들 때 template 를 가져오는 것이다.


프로젝트 명을 적는다. 그리고 하단의 Next 로 이동한다.

template 사용에 체크를 하고 아래 blink를 누른다. blink를 눌렀을 때 프로젝트 명이 바뀌기 때문에 다시 적어준다. 그 후 Finish를 눌러 프로젝트를 생성한다.

이제 빌드(망치모양 클릭)가 잘 되는 것을 볼 수 있다.

ESP32의 built-in LED 를 사용하려면 GPIO2를 사용해야한다.

그래서 이미 정의 되어있는 CONFIG_BLINK_GPIO 핀을 수정하러 F3을 눌러 들어갔다.

정의된 5번을 2번으로 바꾸고 BUILD - UPLOAD 했는데

깜빡이지 않는 것이다!! 다시 확인해 보니 5번에서 안 바뀌는 것이였다.

찾아보니까 이 고정 핀을 바꾸려면

ESP-idf CMD에 가서 idf.py menuconfig 를 건들어야했다.

2번으로 바꾸고 S를 눌러 저장

변경이 잘 되었다.

이제 UPLOAD를 하면

정상적으로 2번 핀으로 바뀌어서 작동하는 걸 볼 수 있다.

코드

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "sdkconfig.h"

#define BLINK_GPIO CONFIG_BLINK_GPIO

void app_main(void)
{
    gpio_reset_pin(BLINK_GPIO);	
    /* Set the GPIO as a push/pull output */
    gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
    while(1) {
        /* Blink off (output low) */
        printf("Turning off the %2d LED\n", BLINK_GPIO);
        gpio_set_level(BLINK_GPIO, 0);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
        /* Blink on (output high) */
        printf("Turning on the %2d LED\n", BLINK_GPIO);
        gpio_set_level(BLINK_GPIO, 1);
        vTaskDelay(1000 / portTICK_PERIOD_MS);
    }
}

물론 이렇게 안 바꾸고 새롭게 핀을 설정하는 것도 방법이다.

아두이노와 비교해보면 어느정도 느낌이 올 것이다.

아두이노ESP-idf
pinMode(BLINK_GPIO, OUTPUT)gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT)
digitalWrite(BLINK_GPIO, HIGH) gpio_set_level(BLINK_GPIO, 1)
delay(1000)vTaskDelay(1000 /portTICK_PERIOD_MS)

참고

중간에 눈이 빠질 것 같아서 폰트 사이즈를 변경해주었다.
메뉴창 Window -> preferences 경로에 있다.

좋은 웹페이지 즐겨찾기