Raspberry Pi RP2350 PICO SDK 예제 - 조기 액세스
RP2350 지침
이 섹션 아래의 모든 것은 스톡 피코 예금에서 나온 것이므로 URL 등을 무시하지만 일반적으로 지침은 동일합니다.
PICO SDK 기본값은 RP2040 (PICO_PLATFORM = RP2040)을 위해 계속 구축해야하므로 RP2350을 위해 빌드하려면 -DPICO_PLATFORM=rp2350
CMAKE (또는 -DPICO_PLATFORM=rp2350-riscv
)로 전달해야합니다.
대부분의 예제는 아니지만 현재 RP2350에서 작동하지만 위의 플랫폼 중 하나를 사용하여 전체 빌드를 수행 할 수 있어야합니다 (Pico_platform = 일부는 일부 예에서 실패합니다).
RISC-V 컴파일을 위해서는 여기에서 컴파일러를 가져와야합니다.
오리지널 피코 앰프 문서
시작하기
일어나고 달리기에 대한 정보는 Pico-SDK의 Raspberry Pi Pio와 Readme를 시작하는 것을 참조하십시오.
첫 번째 예
앱 | 설명 | 사전 제작 UF2에 링크 |
---|
hello_serial | 피코에 대한 의무적 인 Hello World 프로그램 (직렬 버전을 통한 출력) | |
hello_usb | 피코에 대한 의무적 인 Hello World 프로그램 (USB 버전을 통한 출력) | https://rptl.io/pico-hello-usb |
깜박거리다 | LED를 켜고 깜박이십시오. 일반 LED와 Pico W가있는 보드에서 모두 작동합니다. | https://rptl.io/pico-link |
blink_simple | LED를 켜고 깜박이십시오. Pico W에서 작동하지 않습니다. | https://rptl.io/pico-link |
picow_blink | 온보드 LED (Wi-Fi 칩을 통해 연결됨)를 깜박입니다. | http://rptl.io/pico-wlink |
ADC
앱 | 설명 |
---|
hello_adc | ADC 입력에서 전압을 표시합니다. |
조이스틱 _display | 두 개의 ADC 입력을 기반으로 조이스틱 X/Y 입력을 표시합니다. |
adc_console | ADC와 함께 연주하기위한 대화식 쉘. 자유 실행 캡처 모드의 예를 포함합니다. |
onboard_temperature | 온도 온도 센서의 값을 표시하십시오. |
Microphone_adc | 마이크에서 아날로그 값을 읽고 측정 된 사운드 진폭을 플로팅하십시오. |
dma_capture | DMA를 사용하여 ADC에서 많은 샘플을 캡처하십시오. |
read_vsys | 전원 공급 장치의 전압을 얻기 위해 VSY를 읽는 방법을 보여줍니다. |
부트 로더 (RP2350 만 해당)
앱 | 설명 |
---|
enc_bootloader | 바이너리를 플래시에서 SRAM으로 해독하는 부트 로더. 자세한 내용은 별도의 readme를 참조하십시오 |
시계
앱 | 설명 |
---|
hello_48mhz | 실행 중에 시스템 클록 주파수를 48MHz로 변경하십시오. |
hello_gpout | 범용 클록 출력 (GPOUT)을 사용하여 내부 클록 부서를 GPIO 출력으로 구동하십시오. |
hello_resus | 시계 소생술 기능을 활성화, "우연히"시스템 시계를 중지하고 복구 방법을 보여줍니다. |
detached_clk_peri | 주변 시계를 분리하고 시스템 시계를 변경하십시오. |
cmake
앱 | 설명 |
---|
build_variants | 다른 구성으로 동일한 앱의 두 버전을 구축합니다. |
DCP
앱 | 설명 |
---|
hello_dcp | 어셈블러에서 직접 이중 프레시션 코 프로세서를 사용하십시오. |
DMA
앱 | 설명 |
---|
hello_dma | DMA를 사용하여 메모리에서 데이터를 복사하십시오. |
Control_Blocks | 컨트롤 블록 목록을 작성하여 UART로 더 긴 DMA 전송 시퀀스를 프로그래밍하십시오. |
channel_irq | PIO 상태 머신을 통해 데이터를 지속적으로 구동하려면 IRQ 처리기를 사용하여 DMA 채널을 재구성하십시오. |
sniff_crc | DMA 엔진의 'Sniff'기능을 사용하여 데이터 버퍼에서 CRC32를 계산하십시오. |
HSTX
앱 | 설명 |
---|
DVI_OUT_HSTX_ENCODER RP2350 | HSTX를 사용하여 3 : 3 : 2 RGB로 DVI 신호를 출력하십시오. |
플래시
앱 | 설명 |
---|
CACHE_PERFCTR | 캐시 성능 카운터를 읽고 지우십시오. 다른 유형의 플래시 판독에 의해 어떻게 영향을 받는지 보여줍니다. |
핵무기 | 플래시의 내용을 말살하십시오. NO_FLASH 바이너리의 예입니다 (UF2는 SRAM에 직접로드되어 거기에서 실행됩니다). 필요한 경우 피코에 드래그 앤 드롭에 유용한 유틸리티. |
프로그램 | 플래시 섹터를 지우고 하나의 플래시 페이지를 프로그래밍하고 데이터를 다시 읽으십시오. |
xip_stream | XIP 스트림 하드웨어를 사용하여 스트림 데이터를 사용하여 플래시에서 코드를 실행하는 동안 백그라운드에서 데이터를 DMA로 만들 수 있습니다. |
SSI_DMA | 최대 벌크 읽기 성능을 위해 플래시 인터페이스 (연속 SCK 클럭킹)에서 직접 DMA. |
runtime_flash_permissions | 플래시 권한을 변경하기 위해 런타임에 파티션 추가를 보여줍니다. |
Freertos
이 예를 들어 FREERTOS_KERNEL_PATH
Freertos 커널을 가리 키도록 설정해야합니다. https://github.com/freertos/freertos-kernel을 참조하십시오
앱 | 설명 |
---|
hello_freertos | 1 또는 2 코어에서 Freertos와 작업을 수행하는 방법을 보여주는 예. |
GPIO
앱 | 설명 |
---|
hello_7segment | GPIOS를 사용하여 7 개의 세그먼트 LED 디스플레이를 구동하십시오. |
hello_gpio_irq | GPIO가 전환 될 때 실행할 인터럽트 핸들러를 등록하십시오. |
DHT_SENSOR | GPIO를 사용하여 DHT 온도/습도 센서의 직렬 프로토콜을 BITBANG에 사용하십시오. |
참조 : 깜박임, GPIO에 부착 된 LED를 깜박이십시오.
HW 분배기
앱 | 설명 |
---|
Hello_divider | AEABI 주입이 비활성화 된 경우 하드웨어 정수 분배기에 직접 액세스하는 방법을 보여줍니다. |
I2C
앱 | 설명 |
---|
bus_scan | 장치 및 디스플레이 결과를 위해 I2C 버스를 스캔하십시오. |
BMP280_I2C | I2C 버스에 연결된 BMP280 센서의 온도 및 압력 데이터를 읽고 변환합니다. |
LCD_1602_I2C | I2C를 통해 일반 16x2 문자 LCD 디스플레이에 텍스트를 표시하십시오. |
LIS3DH_I2C | I2C를 통해 LIS3DH 센서에서 가속 및 온도 값을 읽으십시오. |
MCP9808_I2C | 온도를 읽고, 한계를 설정하고, 한계를 능가 할 때 알림을 높이십시오. |
MMA8451_I2C | MMA8451 가속도계에서 가속도를 읽고 데이터의 범위와 정밀도를 설정하십시오. |
MPL3115A2_I2C | I2C를 통해 MPL3115A2 고도계와의 인터페이스, 인터럽트 및 고급 보드 기능을 탐색합니다. |
MPU6050_I2C | I2C 버스에 부착 된 MPU6050 가속도계/자이로에서 가속 및 각도 값을 읽으십시오. |
SSD1306_I2C | 128x32 또는 128x64 SSD1306-DRIVEN OLED 디스플레이에서 비트 맵을 변환 및 표시하십시오. |
PA1010D_I2C | I2C를 통해 GPS 위치 데이터, 구문 분석 및 표시 데이터를 읽으십시오. |
PCF8523_I2C | 실시간 시계에서 시간과 날짜 값을 읽으십시오. 현재 시간과 알람을 설정하십시오. |
HT16K33_I2C | HT16K33으로 4 자리 14 세그먼트를 주도합니다. |
슬레이브 _mem_i2c | I2C 슬레이브 예제 슬레이브가 256 바이트 메모리를 구현하는 예 |
보간기
앱 | 설명 |
---|
hello_interp | 코어 로컬 인터 폴자 하드웨어에 액세스하고 대부분의 기능을 사용하는 방법을 보여주는 작은 예제의 묶음. |
멀티 코어
앱 | 설명 |
---|
Hello_multicore | 두 번째 코어에서 함수를 시작하고 각 코어의 일부 메시지를 인쇄하고 사서함 FIFO를 통해 데이터를 전달하십시오. |
multicore_fifo_irqs | 각 코어에서 사서함 FIFOS의 등록 및 인터럽트 처리기. 해당 코어가 메시지를받을 때 인터럽트가 어떻게 발생하는지 보여줍니다. |
Multicore_runner | 수락하고 실행할 두 번째 코어를 설정하고 실행합니다. 몇 가지 코드를 밀고 답을 되 찾으십시오. |
Multicore_doorbell | 코어 사이의 신호 전달에 대한 두 개의 초인종을 주장합니다. 두 번째 코어에서 몇 개의 초인종 IRQ가 발생하는지 계산하고 출입구를 사용하여 출구를 조정합니다. |
OTP
앱 | 설명 |
---|
hello_otp | RP2350의 OTP의 읽기 및 쓰기와 OTP의 일부 기능 (오류 수정 및 페이지 잠금)을 보여줍니다. |
피코 보드
앱 | 설명 |
---|
깜박이 | Pico의 LED에 대한 Morse Code에서 "Hello, World"를 Blink하십시오 |
단추 | 플래시 액세스를 일시적으로 중단하여 Pico의 Bootsel 버튼을 일반 버튼 입력으로 사용하십시오. |
피코 W 네트워킹
이 예제는 Pico W 용이며 PICO_BOARD=pico_w
에서만 사용할 수 있습니다.
앱 | 설명 |
---|
picow_access_point | Wi -Fi 액세스 포인트를 시작하고 DHCP 요청을 필드합니다. |
picow_blink | 온보드 LED (Wi-Fi 칩을 통해 연결됨)를 깜박입니다. |
picow_blink_slow_clock | 해당 상황에서 WiFi 칩과의 통신을 재구성하는 방법을 보여주기 위해 느린 시스템 시계와 함께 온보드 LED (Wi-Fi 칩을 통해 연결됨)를 깜박입니다. |
picow_iperf_server | WiFi 속도 테스트 용 "IPERF"서버를 실행합니다. |
picow_ntp_client | NTP 서버에 연결하여 현재 시간을 가져오고 표시합니다. |
picow_tcp_client | 간단한 TCP 클라이언트. 연결하려면 python_test_tcp_server.py를 실행할 수 있습니다. |
picow_tcp_server | 간단한 TCP 서버. python_test_tcp_client.py를 사용하여 연결할 수 있습니다. |
picow_tls_client | TLS를 사용하여 HTTPS 요청을하는 방법을 보여줍니다. |
picow_tls_verify | 인증서 확인과 함께 TLS를 사용하여 HTTPS 요청을하는 방법을 보여줍니다. |
picow_wifi_scan | Wi -Fi 네트워크 스캔 및 결과를 인쇄합니다. |
picow_udp_beacon | 간단한 UDP 송신기. |
picow_httpd | LWIP HTTP 서버 테스트 앱을 실행합니다 |
Freertos 예제
이들은 Freertos FREERTOS_KERNEL_PATH
Pico W Net https://github.com/freertos/freertos-kernel을 참조하십시오
앱 | 설명 |
---|
picow_freertos_iperf_server_nosys | NO_SYS = 1 모드에서 Freertos에서 WiFi 속도 테스트 용 "IPERF"서버를 실행합니다. LED는 다른 작업에서 깜박입니다 |
picow_freertos_iperf_server_sys | Freertos에서 NO_SYS = 0 (예 : Full Freertos 통합) 모드에서 WiFi 속도 테스트 용 "IPERF"서버를 실행합니다. LED는 다른 작업에서 깜박입니다 |
picow_freertos_ping_nosys | freertos에서 no_sys = 1 모드에서 LWIP-CONTRIB/APPS/PING TEST 앱을 실행합니다. |
picow_freertos_ping_sys | Freertos에서 NO_SYS = 0 (예 : Full Freertos 통합) 모드에서 LWIP-CONTRIB/APPS/PING TEST APP를 실행합니다. 이 경우 테스트 앱은 LWIP 소켓 API를 사용합니다. |
picow_freertos_ntp_client_socket | NO_SYS = 0 (예 : Full Freertos 통합) 모드의 Freertos와 함께 LWIP 소켓 API를 사용하여 NTP 서버에 연결합니다. |
pico_freertos_httpd_nosys | freertos에서 no_sys = 1 모드에서 LWIP HTTP 서버 테스트 앱을 실행합니다. |
pico_freertos_httpd_sys | Freertos에서 NO_SYS = 0 (예 : Full Freertos 통합) 모드에서 LWIP HTTP 서버 테스트 앱을 실행합니다. |
피코 W 블루투스
이 예제는 pico w 용이며 PICO_BOARD=pico_w
에서만 사용할 수 있습니다. 그들은 Blue Kitchen Bluetooth 스택의 예입니다. 자세한 설명은 여기를 참조하십시오.
기본적으로 Bluetooth 예제는 하나의 "모드"만 ( 배경 , 폴링 또는 Freertos )로만 내장되며 기본값은 배경 입니다. -DBTSTACK_EXAMPLE_TYPE=poll
등을 CMake
로 전달하거나 -DBTSTACK_EXAMPLE_TYPE=all
freertos 버전을 FREERTOS_KERNEL_PATH
정의한 경우에만 구축 할 수 있습니다.
오디오를 사용하는 Bluetooth 예제에는 Pico-Extras의 코드가 필요합니다. pass -DPICO_EXTRAS_PATH=${HOME}/pico-extras
또는 cmake 명령 줄의 pico-extras 또는 PICO_EXTRAS_PATH=${HOME}/pico-extras
정의하고 빌드에 포함시키기 위해 CMAKE를 다시 포함시킵니다.
앱 | 설명 |
---|
picow_bt_example_a2dp_sink_demo | A2DP 싱크 - 오디오 스트림 및 제어 재생을받습니다. |
picow_bt_example_a2dp_source_demo | A2DP 소스 - 스트림 오디오 및 제어 볼륨. |
picow_bt_example_ancs_client_demo | LE ANC 클라이언트 - Apple 알림 서비스. |
picow_bt_example_att_delayed_response | LE 주변 - 지연 응답. |
picow_bt_example_audio_duplex | 오디오 드라이버 - 소스에서 싱크대로 오디오를 전달합니다. |
picow_bt_example_avrcp_browsing_client | AVRCP 브라우징 - 미디어 플레이어 및 미디어 정보 탐색. |
picow_bt_example_dut_mode_classic | 테스트 - 클래식 용 테스트 (DUT.C) 모드에서 장치 활성화. |
picow_bt_example_gap_dedicated_bonding | 갭 본딩 |
picow_bt_example_gap_inquiry | GAP 클래식 문의. |
picow_bt_example_gap_le_advertisements | 갭 레크 광고 스캐너. |
picow_bt_example_gap_link_keys | 갭 링크 키 관리 (Classic.C). |
picow_bt_example_gatt_battery_query | GATT 배터리 서비스 클라이언트. |
picow_bt_example_gatt_browser | GATT CLIEND- 기본 서비스를 발견하십시오. |
picow_bt_example_gatt_counter | GATT 서버 - 가트에 대한 하트 비트 카운터. |
picow_bt_example_gatt_device_information_query | GATT 장치 정보 서비스 클라이언트. |
picow_bt_example_gatt_heart_rate_client | 가트 심박수 센서 클라이언트. |
picow_bt_example_gatt_streamer_server | 성능 - GATT (Server.C)의 스트림 데이터. |
picow_bt_example_hfp_ag_demo | HFP AG- 오디오 게이트웨이. |
picow_bt_example_hfp_hf_demo | HFP HF- 핸즈프리. |
picow_bt_example_hid_host_demo | HID 호스트 클래식. |
picow_bt_example_hid_keyboard_demo | HID 키보드 클래식. |
picow_bt_example_hid_mouse_demo | 숨겨진 마우스 클래식. |
picow_bt_example_hog_boot_host_demo | HID BOOT 호스트 LE. |
picow_bt_example_hog_host_demo | HID 호스트 LE. |
picow_bt_example_hog_keyboard_demo | HID 키보드 le. |
picow_bt_example_hog_mouse_demo | 숨겨진 마우스 le. |
picow_bt_example_hsp_ag_demo | HSP AG- 오디오 게이트웨이. |
picow_bt_example_hsp_hs_demo | HSP HS- 헤드셋. |
picow_bt_example_le_credit_based_flow_control_mode_client | LE 신용 기반 흐름 제어 모드 클라이언트-L2CAP를 통해 데이터를 전송합니다. |
picow_bt_example_le_credit_based_flow_control_mode_server | LE 신용 기반 흐름 제어 모드 서버-L2CAP를 통해 데이터를 수신합니다. |
picow_bt_example_led_counter | Hello World- 블루투스없이 LED를 깜박입니다. |
picow_bt_example_le_mitm | 르 Man-in-the-Middle 도구. |
picow_bt_example_le_streamer_client | 성능 - GATT (Client.C)의 스트림 데이터. |
picow_bt_example_mod_player | 오디오 드라이버 - 80 년대 모드 송을 재생합니다. |
picow_bt_example_nordic_spp_le_counter | Le Nordic SPP와 같은 하트 비트 서버. |
picow_bt_example_nordic_spp_le_streamer | Le Nordic SPP와 같은 스 트리머 서버. |
picow_bt_example_sdp_general_query | SDP 클라이언트 - 쿼리 원격 SDP 레코드. |
picow_bt_example_sdp_rfcomm_query | SDP 클라이언트 - 쿼리 RFCOMM SDP 레코드. |
picow_bt_example_sine_player | 오디오 드라이버 -Sine을 재생하십시오. |
picow_bt_example_sm_pairing_central | Le Central- 테스트 페어링 방법. |
picow_bt_example_sm_pairing_peripheral | LE 주변 - 테스트 페어링 방법. |
picow_bt_example_spp_and_gatt_counter | 듀얼 모드 -SPP 및 LE 카운터. |
picow_bt_example_spp_and_gatt_streamer | 듀얼 모드 -SPP 및 LE Stremer. |
picow_bt_example_spp_counter | SPP 서버 - RFComm의 하트 비트 카운터. |
picow_bt_example_spp_flowcontrol | SPP 서버 - RFCOMM 흐름 제어. |
picow_bt_example_spp_streamer_client | 성능 - spp (client.c)의 스트림 데이터. |
picow_bt_example_spp_streamer | 성능 - SPP (Server.c)의 스트림 데이터. |
picow_bt_example_ublox_spp_le_counter | Le U-Blox SPP와 같은 하트 비트 서버. |
일부 독립형 블루투스 예제 (모든 일반적인 예제 빌드 인프라없이)도 사용할 수 있습니다.
앱 | 설명 |
---|
picow_ble_temp_sensor | 온도 온도 센서에서 읽히고 BLE를 통해 알림을 보냅니다. |
picow_ble_temp_sensor_with_wifi | 위와 동일하지만 Wi-Fi에 연결되어 "iperf"서버를 시작합니다. |
picow_ble_temp_reader | 위의 "센서"중 하나에 연결하고 온도를 읽습니다. |
피오
앱 | 설명 |
---|
hello_pio | PIO FIFO로 값을 푸시하여 LED를 제어하는 방법을 보여주는 절대적으로 최소한의 예. |
APA102 | APA102의 주소 지정된 RGB LED의 문자열에 무지개 패턴. |
clocked_input | 직렬 데이터의 전환, 외부 시계로 샘플링. |
DIFERIAL_MANCHESTER | 차등 맨체스터 인코딩 된 직렬 (BMC)를 보내고받습니다. |
hub75 | 128x64 Hub75 RGB LED 매트릭스에 이미지를 표시하십시오. |
I2C | I2C 버스를 스캔하십시오. |
ir_nec | PIO를 사용하여 IR (Infra-Red) 코드를 송금 및 수신합니다. |
logic_analyser | PIO와 DMA를 사용하여 일부 GPIO의 논리 추적을 캡처하는 동안 PWM 장치가이를 주도합니다. |
Manchester_encoding | 맨체스터 인코딩 된 직렬을 보내고받습니다. |
Onewire | DS18B20 온도 센서의 예제와 함께 1 와이어 장치에 인터페이스하는 라이브러리. |
pio_blink | FIFOS로 밀려난 지연 카운트에 따라 다른 주파수에서 LED를 깜박일 수있는 일부 PIO 상태 머신을 설정하십시오. |
PWM | PIO의 펄스 폭 변조. 그것을 사용하여 LED의 밝기를 점차적으로 희미하게하십시오. |
SPI | PIO를 사용하여 외부 SPI 플래시 칩을 지우고 프로그램하고 읽으십시오. 두 번째 예제는 4 개의 CPHA/CPOL 조합으로 모두 루프백 테스트를 실행합니다. |
squarewave | 빠른 정사각형 파를 GPIO로 운전하십시오. 이 예는 SDK 기능을 사용하는 대신 저수준 PIO 레지스터에 직접 액세스합니다. |
squarewave_div_sync | 3 개의 GPIO에 사각형 파를 생성하고 모든 상태 기계에 분배기를 동기화합니다. |
ST7789_LCD | 62.5Mbps 직렬 출력 용 PIO를 설정하고 ST7789 직렬 LCD에 회전 이미지를 표시하는 데 사용하십시오. |
Quadrature_encoder | CPU와 무관하게 CART를 유지하기 위해 PIO를 사용하는 쿼드 레이터 인코더. |
quadrature_encoder_substep | 표준 쿼드 레이터 인코더를 사용한 고해상도 속도 측정 |
UART_RX | UART 직렬 포트의 수신 구성 요소를 구현하십시오. Spare Arm UART에 부착하여 문자를받는 것을보십시오. |
UART_TX | UART 직렬 포트의 전송 구성 요소를 구현하고 Hello World를 인쇄하십시오. |
WS2812 | WS2812 주소 주소 RGB LED를 운전하는 예. |
덧셈 | PIO를 사용하여 두 개의 정수를 함께 추가하십시오. Cortex-M0+보다 약 80 억 배 더 느립니다. |
PWM
앱 | 설명 |
---|
hello_pwm | GPIOS에서 PWM 출력을 구동하는 최소 예. |
LED_FADE | 낮은 밝기와 높은 밝기 사이의 LED를 희미 해집니다. 인터럽트 핸들러는 카운터가 랩 될 때마다 PWM 슬라이스의 출력 레벨을 업데이트합니다. |
측정 _duty_cycle | 듀티 사이클 범위에서 PWM 출력을 구동하고 입력 모드에서 다른 PWM 슬라이스를 사용하여 듀티 사이클을 측정합니다. |
다시 놓기
앱 | 설명 |
---|
hello_reset | 일부 주변 장치에서 하드 리셋을 수행 한 다음 다시 가져옵니다. |
RTC
앱 | 설명 |
---|
Hello_RTC | RTC에서 날짜/시간을 설정 한 다음 초당 10 회 현재 시간을 반복하여 업데이트를 표시하십시오. |
rtc_alarm | RTC에서 알람을 설정하여 미래에 5 초/시간에 인터럽트를 트리거하십시오. |
RTC_ALARM_REPEAT | 분당 RTC 인터럽트를 트리거하십시오. |
SHA-256
앱 | 설명 |
---|
hello_sha256 | RP2350의 하드웨어를 사용하여 체크섬을 계산하기 위해 PICO_SHA256 라이브러리를 사용하는 방법을 보여줍니다. |
MBEDTLS_SHA256 | MBEDTL에서 SHA-256 하드웨어 가속도를 사용합니다 |
SPI
앱 | 설명 |
---|
BME280_SPI | SPI를 통해 BME280 온도/습도/압력 센서를 부착하십시오. |
MPU9250_SPI | SPI를 통해 MPU9250 가속도계/Gyoscope를 부착하십시오. |
spi_dma | DMA를 사용하여 SPI에서 동시에 데이터를 전송하십시오. SPI는 루프백을 위해 구성됩니다. |
spi_flash | SPI 컨트롤러 중 하나에 연결된 직렬 플래시 장치를 지우고 프로그램하고 읽으십시오. |
spi_master_slave | SPI 커뮤니케이션을 마스터 및 슬레이브로 보여줍니다. |
MAX7219_8X7SEG_SPI | SPI를 통해 8 자리 7 세그먼트 디스플레이를 구동하는 MAX7219 부착 |
MAX7219_32X8_SPI | SPI를 통해 32x8 LED 디스플레이 주행 MAX7219 부착 |
체계
앱 | 설명 |
---|
boot_info | SYS 정보 부팅 정보를 읽고 해석하는 방법을 보여줍니다. |
hello_double_tap | pico_bootsel_via_double_reset 라이브러리 링크로 LED 깜박임. 이렇게하면 시스템이 빠르게 연속적으로 재설정되는 시스템을 감지 할 때 USB 부트 로더로 들어갑니다. 이는 재설정 버튼이 있지만 Bootsel 버튼이없는 보드에 유용합니다. |
랜드 | Pico Random Number 함수를 사용하는 방법을 보여줍니다. |
좁은 _io_write | 32 비트 IO 레지스터에 대한 8 비트 및 16 비트 쓰기의 효과를 보여줍니다. |
고유 한 보드 _id | 보드의 고유 식별자 역할을하는 외부 플래시에서 64 비트 고유 ID를 읽으십시오. |
시간제 노동자
앱 | 설명 |
---|
Hello_TIMER | 시스템 타이머에서 콜백을 정기적으로 반복하십시오. 우리가 완료되면 타이머를 취소하십시오. |
eqereic_sampler | 타이머 콜백에서 GPIO를 샘플링하고 샘플을 동시 안전 큐로 밀어 넣습니다. 전경에서 실행되는 코드의 대기열에서 팝 데이터. |
TIMER_LOWLEVEL | 타이머 하드웨어에 직접 액세스하는 예. SDK는 IO 타임 아웃에 타이머를 사용할 수 있으므로 일반적으로 권장되지 않습니다. |
UART
앱 | 설명 |
---|
hello_uart | stdio 통과하지 않고 UART 직렬 포트 중 하나에서 일부 텍스트를 인쇄하십시오. |
LCD_UART | UART를 통해 16x02 RGB LCD 디스플레이에 텍스트 및 기호 표시 |
uart_advanced | RX 인터럽트, 하드웨어 제어 흐름 및 8N1 이외의 데이터 형식과 같은 다른 UART 기능을 사용하십시오. |
만능인
RP2040에서 실행되는 범용 바이너리 및 RP2350 ARM & RISC-V를 구축하는 방법의 예입니다. 이들은 두 아키텍처에 대한 컴파일러를 보장하기 위해 PICO_ARM_TOOLCHAIN_PATH
및 PICO_RISCV_TOOLCHAIN_PATH
적절한 경로로 설정해야합니다.
앱 | 설명 |
---|
깜박거리다 | 깜박임 예제와 동일하지만 보편적입니다. |
hello_universal | 피코에 대한 의무적 인 Hello World 프로그램 (USB 및 직렬 출력). RP2350에서는 10 개의 인쇄 후 다른 아키텍처로 재부팅됩니다. |
nuke_universal | 핵무기 예와 동일하지만 보편적입니다. RP2350에서 포장 된 SRAM 바이너리로 실행되므로 Flash에 작성되어 부트 로더가 SRAM에 복사합니다. |
USB 장치
Tinyusb 예
대부분의 USB 장치 예제는 여기에서 TinyUSB 장치 예제 디렉토리에서 직접 제공됩니다. RP2040 장치에서 지원되는 장치는 Pico-Examples 빌드의 일부로 자동으로 포함됩니다 tinyusb_dev_<example_name>
tinyusb_dev_hid_composite
로.
글을 쓰는 시점에서는이 예제를 사용할 수 있습니다.
- tinyusb_dev_audio_4_channel_mic
- tinyusb_dev_audio_test
- tinyusb_dev_board_test
- tinyusb_dev_cdc_dual_ports
- tinyusb_dev_cdc_msc
- tinyusb_dev_dfu
- tinyusb_dev_dfu_runtime
- tinyusb_dev_dynamic_configuration
- tinyusb_dev_hid_composite
- tinyusb_dev_hid_generic_inout
- tinyusb_dev_hid_multiple_interface
- tinyusb_dev_midi_test
- tinyusb_dev_msc_dual_lun
- tinyusb_dev_net_lwip_webserver
- tinyusb_dev_uac2_headset
- tinyusb_dev_usbtmc
- tinyusb_dev_video_capture
- tinyusb_dev_webusb_serial
이 예제는 장치 모드에서 tinyusb를 사용하는 방법을 보여 주지만, CMakeLists.txt
는 Tinyusb가 소스 트리 내에 예제를 어떻게 구축하는지에 맞게 설정됩니다.
Raspberry Pi SDK와 함께 장치 모드에서 tinyusb를 사용하기 위해 CMakeLists.txt
구성하는 방법에 대한 더 나은 예는 다음을 참조하십시오.
SDK 빌드 예제
앱 | 설명 |
---|
dev_hid_composite | 동일한 이름의 TinyUSB 장치 예제 사본이지만 CMakelists.txt가있는 Text가있는 Raspberry Pi Pico SDK를 사용하여 TinyUSB 장치 라이브러리에 의존하는 방법을 보여줍니다. |
낮은 수준의 예
앱 | 설명 |
---|
dev_lowlevel | USB 하드웨어에 직접 액세스하여 구현 된 USB 벌크 루프백 (tinyusb 없음) |
USB 호스트
모든 USB 호스트 예제는 여기에서 TinyUSB 호스트 예제 디렉토리에서 직접 제공됩니다. rp2040 장치에서 지원되는 장치는 Pico-Examples 빌드의 일부로 자동으로 tinyusb_host_<example_name>
, 예를 들어 https://github.com/hathach/tinyusb/tree/master/Versamples/host/cdc_msc_hid입니다. tinyusb_host_cdc_msc_hid
로.
글을 쓰는 시점에는 호스트 예제가 하나뿐입니다.
USB 듀얼 모드
USB 듀얼 모드는 PIO를 USB 호스트 컨트롤러로 사용하고 RP2040 USB 장치 컨트롤러를 장치 컨트롤러로 사용합니다. 모든 USB 듀얼 예제는 여기에서 tinyusb 듀얼 예제 디렉토리에서 직접 제공됩니다. RP2040 장치에서 지원되는 장치는 Pico Examples 빌드의 일부로 자동으로 포함됩니다. tinyusb_dual_<example_name>
, eg https://github.com/hathach/tinyusb/tree/master/master/master/master/master/master/master/dual/host_hid_device_cdc는 구축됩니다. ~처럼 tinyusb_dual_host_hid_to_device_cdc
.
글을 쓰는 시점에는 이중 예제가 하나뿐입니다.
- tinyusb_dual_host_hid_to_device_cdc
지키는 개
앱 | 설명 |
---|
hello_watchdog | Watchdog 타이머를 설정하고 만료되도록하십시오. 재부팅을 감지하고 중단하십시오. |