Raspberry Pi Pico&Pico W

Raspberry Pi Pico C 프로그래밍 - USB Serial 예제

webnautes 2023. 10. 19. 21:45
반응형

Raspberry Pi Pico에서 USB Serial을 사용하여 터미널로 문자열을 전송하는 예제입니다. 



2021 04. 24 - 최초작성

2022. 9. 9 - 추가 설명 

2022. 11. 10 - 패키지 설치 관련 내용 삭제 



진행하기 전에 다음 포스트를 먼저 진행해야 합니다. 



Windows에 Raspberry Pi Pico C 개발 환경 만들기

 

https://webnautes.tistory.com/2092



1.다음 파일을 다운로드하여 앞에서 진행한 pico 폴더의 다음 위치에 압축을 풀어둡니다.

폴더 이름을 hello_usb이라고 이름을 바꾸었습니다.

 

https://github.com/webnautes/nudapeu/blob/master/project1.zip 

 




2. 다음 위치에 있는 hello_usb.c를 복사하여 

 



다음 위치에 붙여넣기합니다.

 




3. CMakeLists.txt 파일을 열어서 다음 부분을 수정합니다. 

 

# enable usb output, disable uart output

pico_enable_stdio_usb(${projname} 1)

pico_enable_stdio_uart(${projname} 0)

 




4. 윈도우 키를 누른 후, “ Developer Command”을 입력하여 Developer Command Prompt for VS 2019를 실행합니다. 

 

5. hello_usb 폴더에 있는 build 폴더로 이동합니다. 

 

D:\>cd work\pico\hello_usb\build

 

D:\work\pico\hello_usb\build>




6. 다음 두 명령을 차례로  실행합니다.

 

cmake -G "NMake Makefiles" ..  

 

nmake 




7. 윈도우 탐색기로  hello_usb  아래에 있는 build 폴더로 이동하면  hello .uf2 파일을 찾을 수 있습니다.  

 



이 파일을 앞에서 한 방식대로 pico로 복사하면 됩니다. 

 

pico의 BOOTSEL 버튼을 누른 채 PC에 연결합니다.

 hello.uf2를 pico를 연결해 추가된 외장 저장공간으로 복사합니다. 




8. 장치관리자에서 확인해보면 COM포트가 추가된 것을 볼 수 있습니다. 

 




9. 시리얼 터미널에서 확인해보면 “Hello, world!” 문자열이 일정한 간격으로 전송됩니다. 

 




10.hello_usb.c를 살펴보면 printf문으로 출력한 결과가 시리얼 터미널에서 확인되는 겁니다. 

sleep_ms를 사용하여 1초 간격으로 문자열이 출력되록 했네요.  




/**
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
*/

#include <stdio.h>
#include "pico/stdlib.h"

int main() {
    stdio_init_all();
    while (true) {
        printf("Hello, world!\n");
        sleep_ms(1000);
    }
    return 0;
}










반응형