Raspberry Pi Pico C 프로그래밍 - USB Serial 예제
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; } |