Contoh Raspberry Pi RP2350 PICO SDK - Akses Awal
Instruksi RP2350
Segala sesuatu di bawah bagian ini berasal dari stok pico-excels, jadi abaikan URL dll, tetapi umumnya instruksi sama.
Default PICO SDK terus membangun untuk RP2040 (pico_platform = RP2040), jadi untuk membangun untuk RP2350, Anda harus lulus -DPICO_PLATFORM=rp2350 ke CMAKE (atau -DPICO_PLATFORM=rp2350-riscv untuk RISC -V).
Sebagian besar, tetapi tidak semua contoh, saat ini bekerja pada RP2350 namun Anda harus dapat melakukan build penuh dengan salah satu platform di atas (pico_platform = host namun saat ini gagal pada beberapa contoh)
Untuk kompilasi RISC-V, Anda harus mengambil kompiler dari sini: https://www.embecosm.com/resources/tool-chain-downloads/#riscv-stable
Dokumen Pico-Incaranples Asli
Memulai
Lihat Memulai dengan Raspberry Pi Pico dan Readme di Pico-Sdk untuk informasi tentang bangun dan berjalan.
Contoh pertama
| Aplikasi | Keterangan | Tautan ke prebuilt uf2 |
|---|
| hello_serial | Program Hello World wajib untuk PICO (output melalui versi serial) | |
| hello_usb | Program Hello World wajib untuk PICO (output melalui versi USB) | https://rptl.io/pico-hello-usb |
| berkedip | Berkedip dan mematikan LED. Bekerja di kedua papan dengan LED biasa dan Pico W | https://rptl.io/pico-blink |
| Blink_Simple | Berkedip dan mematikan LED. Tidak bekerja di Pico W. | https://rptl.io/pico-blink |
| picow_blink | Menghadapi LED on-board pico w (yang terhubung melalui chip wifi). | http://rptl.io/pico-w-blink |
ADC
| Aplikasi | Keterangan |
|---|
| hello_adc | Tampilkan tegangan dari input ADC. |
| joystick_display | Tampilkan input joystick x/y berdasarkan dua input ADC. |
| adc_console | Shell interaktif untuk bermain dengan ADC. Termasuk contoh mode penangkapan yang berjalan bebas. |
| onboard_temperature | Tampilkan nilai sensor suhu onboard. |
| microphone_adc | Baca nilai analog dari mikrofon dan plot amplitudo suara yang diukur. |
| DMA_Capture | Gunakan DMA untuk menangkap banyak sampel dari ADC. |
| read_vsys | Menunjukkan cara membaca VSYS untuk mendapatkan tegangan catu daya. |
Bootloaders (RP2350 saja)
| Aplikasi | Keterangan |
|---|
| enc_bootloader | Bootloader yang mendekripsi binari dari flash ke SRAM. Lihat readme terpisah untuk informasi lebih lanjut |
Jam
| Aplikasi | Keterangan |
|---|
| hello_48mhz | Ubah frekuensi jam sistem menjadi 48 MHz saat berjalan. |
| hello_gpout | Gunakan output jam tujuan umum (GPOUT) untuk mendorong divisi jam internal ke output GPIO. |
| hello_resus | Aktifkan fitur clock resuscitate, "secara tidak sengaja" hentikan jam sistem, dan tunjukkan bagaimana kita pulih. |
| detached_clk_peri | Lepaskan jam periferal dan bervariasi jam sistem. |
Cmake
| Aplikasi | Keterangan |
|---|
| build_varian | Membangun dua versi aplikasi yang sama dengan konfigurasi yang berbeda |
DCP
| Aplikasi | Keterangan |
|---|
| hello_dcp | Gunakan coprocessor presisi ganda langsung di Assembler. |
DMA
| Aplikasi | Keterangan |
|---|
| hello_dma | Gunakan DMA untuk menyalin data dalam memori. |
| control_blocks | Bangun daftar blok kontrol, untuk memprogram urutan yang lebih lama dari transfer DMA ke UART. |
| channel_irq | Gunakan pawang IRQ untuk mengkonfigurasi ulang saluran DMA, untuk terus mendorong data melalui mesin negara PIO. |
| sniff_crc | Gunakan kemampuan 'sniff' mesin DMA untuk menghitung CRC32 pada buffer data. |
HSTX
| Aplikasi | Keterangan |
|---|
dvi_out_hstx_encoder RP2350 | Gunakan HSTX untuk mengeluarkan sinyal DVI dengan 3: 3: 2 RGB |
Kilatan
| Aplikasi | Keterangan |
|---|
| CACHE_PERFCTR | Baca dan hapus penghitung kinerja cache. Tunjukkan bagaimana mereka dipengaruhi oleh berbagai jenis pembacaan flash. |
| senjata nuklir | Melenyapkan isi flash. Contoh biner NO_FLASH (UF2 dimuat langsung ke SRAM dan berjalan di tempat di sana). Utilitas yang berguna untuk menyeret dan turun ke PICO Anda jika diperlukan. |
| program | Hapus sektor flash, program satu halaman flash, dan baca kembali data. |
| xip_stream | Stream data menggunakan perangkat keras XIP Stream, yang memungkinkan data menjadi DMA'D di latar belakang saat menjalankan kode dari flash. |
| SSI_DMA | DMA langsung dari antarmuka flash (clocking sck kontinu) untuk kinerja baca massal maksimum. |
| runtime_flash_permissions | Menunjukkan menambahkan partisi saat runtime untuk mengubah izin flash |
Freertos
Contoh -contoh ini mengharuskan Anda untuk mengatur FREERTOS_KERNEL_PATH untuk menunjuk ke kernel freertos. Lihat https://github.com/freertos/freertos-kernel
| Aplikasi | Keterangan |
|---|
| hello_freertos | Contoh yang menunjukkan bagaimana menjalankan freertos dan tugas pada 1 atau 2 core. |
Gpio
| Aplikasi | Keterangan |
|---|
| hello_7segment | Gunakan GPIOS untuk mengendarai layar LED tujuh segmen. |
| hello_gpio_irq | Daftarkan penangan interupsi untuk dijalankan ketika GPIO diaktifkan. |
| DHT_SENSOR | Gunakan GPIO untuk bitbang protokol serial untuk sensor suhu/kelembaban DHT. |
Lihat juga: Blink, berkedip LED yang melekat pada GPIO.
HW Divider
| Aplikasi | Keterangan |
|---|
| hello_divider | Tunjukkan cara mengakses secara langsung pembagi integer perangkat keras, jika injeksi AEABI dinonaktifkan. |
I2c
| Aplikasi | Keterangan |
|---|
| BUS_SCAN | Pindai bus I2C untuk perangkat dan menampilkan hasil. |
| BMP280_I2C | Baca dan konversi data suhu dan tekanan dari sensor BMP280, melekat pada bus I2C. |
| LCD_1602_I2C | Tampilkan beberapa teks pada tampilan LCD karakter 16x2 generik, melalui I2C. |
| lis3dh_i2c | Baca nilai akselerasi dan suhu dari sensor LIS3DH melalui I2C |
| MCP9808_I2C | Baca suhu, atur batas dan angkat peringatan saat batas dilampaui. |
| MMA8451_I2C | Baca akselerasi dari accelerometer MMA8451 dan atur rentang dan presisi untuk data. |
| MPL3115A2_I2C | Antarmuka dengan altimeter MPL3115A2, menjelajahi interupsi dan fitur papan canggih, melalui I2C. |
| MPU6050_I2C | Baca nilai akselerasi dan laju sudut dari MPU6050 Accelerometer/Gyro, terpasang pada bus I2C. |
| SSD1306_I2C | Konversi dan tampilkan bitmap pada tampilan OLED 128x32 atau 128x64 SSD1306 |
| PA1010D_I2C | Baca data lokasi GPS, parse dan tampilkan data melalui I2C. |
| PCF8523_I2C | Baca nilai waktu dan tanggal dari jam waktu nyata. Atur waktu saat ini dan alarm di atasnya. |
| HT16K33_I2C | Mengendarai segmen 4 digit 14 DED dengan HT16K33. |
| slave_mem_i2c | I2C Slave Contoh Di mana Slave mengimplementasikan memori 256 byte |
Interpolator
| Aplikasi | Keterangan |
|---|
| hello_interp | Bundel contoh kecil, menunjukkan cara mengakses perangkat keras interpolator inti-lokal, dan menggunakan sebagian besar fitur-fiturnya. |
Multicore
| Aplikasi | Keterangan |
|---|
| hello_multicore | Luncurkan fungsi pada inti kedua, printf beberapa pesan di setiap inti, dan lulus data bolak -balik melalui FIFOS kotak surat. |
| multicore_fifo_irqs | Pada setiap inti, daftarkan dan interupsi penangan untuk FIFOS kotak surat. Tunjukkan bagaimana interupsi api ketika inti itu menerima pesan. |
| multicore_runner | Atur inti kedua untuk menerima, dan jalankan, pointer fungsi apa pun didorong ke kotak suratnya FIFO. Dorong beberapa potong kode dan dapatkan jawaban kembali. |
| multicore_doorbell | Mengklaim dua bel pintu untuk pensinyalan di antara inti. Menghitung berapa banyak pintu bel pintu terjadi pada inti kedua dan menggunakan bel pintu untuk mengoordinasikan keluar. |
OTP
| Aplikasi | Keterangan |
|---|
| hello_otp | Demonstrasi membaca dan menulis dari OTP pada RP2350, bersama dengan beberapa fitur OTP (koreksi kesalahan dan penguncian halaman). |
Papan Pico
| Aplikasi | Keterangan |
|---|
| Blinky | Blink "halo, dunia" dalam kode morse di pico's led |
| tombol | Gunakan tombol Bootsel PICO sebagai input tombol biasa, dengan sementara menangguhkan akses flash. |
Pico W Networking
Contoh -contoh ini untuk pico w, dan hanya tersedia untuk PICO_BOARD=pico_w
| Aplikasi | Keterangan |
|---|
| picow_access_point | Mulai titik akses WiFi, dan bidang permintaan DHCP. |
| picow_blink | Mengedipkan LED on-board (yang terhubung melalui chip wifi). |
| picow_blink_slow_clock | Menghadapi LED on-board (yang terhubung melalui chip wifi) dengan jam sistem yang lebih lambat untuk menunjukkan cara mengkonfigurasi ulang komunikasi dengan chip wifi dalam keadaan seperti itu |
| picow_iperf_server | Menjalankan server "iperf" untuk pengujian kecepatan wifi. |
| picow_ntp_client | Terhubung ke server NTP untuk mengambil dan menampilkan waktu saat ini. |
| picow_tcp_client | Klien TCP sederhana. Anda dapat menjalankan python_test_tcp_server.py untuk terhubung ke. |
| picow_tcp_server | Server TCP sederhana. Anda dapat menggunakan python_test_tcp_client.py untuk menghubungkannya. |
| picow_tls_client | Menunjukkan cara membuat permintaan HTTPS menggunakan TLS. |
| picow_tls_verify | Menunjukkan cara membuat permintaan HTTPS menggunakan TLS dengan verifikasi sertifikat. |
| picow_wifi_scan | Pemindaian untuk jaringan wifi dan mencetak hasilnya. |
| picow_udp_beacon | Pemancar UDP sederhana. |
| picow_httpd | Menjalankan aplikasi uji server LWIP HTTP |
Contoh Freertos
Ini adalah contoh mengintegrasikan jaringan PICO W di bawah Freertos, dan mengharuskan Anda untuk mengatur FREERTOS_KERNEL_PATH untuk menunjuk ke kernel freertos. Lihat https://github.com/freertos/freertos-kernel
| Aplikasi | Keterangan |
|---|
| picow_freertos_iperf_server_nosys | Menjalankan server "iperf" untuk pengujian kecepatan wifi di bawah freertos dalam mode no_sys = 1. LED berkedip dalam tugas lain |
| picow_freertos_iperf_server_sys | Menjalankan server "iperf" untuk pengujian kecepatan wifi di bawah freertos di no_sys = 0 (yaitu integrasi freertos penuh) mode. LED berkedip dalam tugas lain |
| picow_freertos_ping_nosys | Menjalankan aplikasi LWIP-Contrib/Apps/Ping Test di bawah freertos dalam mode NO_SYS = 1. |
| picow_freertos_ping_sys | Menjalankan aplikasi LWIP-Contrib/Apps/Ping Test di bawah freertos di no_sys = 0 (yaitu integrasi freertos penuh) mode. Aplikasi uji menggunakan LWIP Socket API dalam kasus ini. |
| picow_freertos_ntp_client_socket | Terhubung ke server NTP menggunakan LWIP Socket API dengan freertos di no_sys = 0 (yaitu integrasi freertos penuh) mode. |
| pico_freertos_httpd_nosys | Menjalankan aplikasi uji server HTTP LWIP di bawah freertos dalam mode no_sys = 1. |
| pico_freertos_httpd_sys | Menjalankan aplikasi uji server LWIP HTTP di bawah freertos di no_sys = 0 (yaitu integrasi freertos penuh) mode. |
Pico w bluetooth
Contoh -contoh ini untuk pico w, dan hanya tersedia untuk PICO_BOARD=pico_w . Mereka adalah contoh dari Blue Kitchen Bluetooth Stack, lihat di sini untuk deskripsi lengkap.
Secara default, contoh Bluetooth hanya dibangun dalam satu "mode" saja ( latar belakang , polling , atau freertos ), dengan latar belakang default. Ini dapat diubah dengan melewati -DBTSTACK_EXAMPLE_TYPE=poll dll ke CMake , atau semua contoh dapat dibangun (yang mungkin lambat) dengan lulus -DBTSTACK_EXAMPLE_TYPE=all versi freertos hanya dapat dibangun jika FREERTOS_KERNEL_PATH ditentukan.
Contoh-contoh Bluetooth yang menggunakan audio memerlukan kode di Pico-Extras. Lulus -DPICO_EXTRAS_PATH=${HOME}/pico-extras pada baris perintah cmake atau tentukan PICO_EXTRAS_PATH=${HOME}/pico-extras di lingkungan Anda dan menjalankan kembali cmake untuk memasukkannya ke dalam build.
| Aplikasi | Keterangan |
|---|
| picow_bt_example_a2dp_sink_demo | A2DP Wastafel - Terima streaming audio dan control playback. |
| picow_bt_example_a2dp_source_demo | Sumber A2DP - Aliran audio dan volume kontrol. |
| picow_bt_example_ancs_client_demo | Klien Le ANCS - Layanan Pemberitahuan Apple. |
| picow_bt_example_att_delayed_response | Le periferal - respons tertunda. |
| picow_bt_example_audio_duplex | Driver Audio - Maju Audio Dari Sumber ke Sink. |
| picow_bt_example_avrcp_browsing_client | AVRCP Browsing - Jelajahi Pemutar Media dan Informasi Media. |
| picow_bt_example_dut_mode_classic | Pengujian - Aktifkan Mode Perangkat Di Bawah Uji (DUT.C) untuk klasik. |
| picow_bt_example_gap_dedicated_bonding | Ikatan celah |
| picow_bt_example_gap_inquiry | Penyelidikan Klasik Gap. |
| picow_bt_example_gap_le_advertisements | Pemindai iklan Gap le. |
| picow_bt_example_gap_link_keys | GAP LINK MANAJEMEN KUNCI (Classic.C). |
| picow_bt_example_gatt_battery_query | Klien Layanan Baterai GATT. |
| picow_bt_example_gatt_browser | Klien GATT - Temukan Layanan Utama. |
| picow_bt_example_gatt_counter | Gatt Server - Counter Heartbeat Over Gatt. |
| picow_bt_example_gatt_device_information_query | Klien Layanan Informasi Perangkat GATT. |
| picow_bt_example_gatt_heart_rate_client | Klien sensor detak jantung GATT. |
| picow_bt_example_gatt_streamer_server | Kinerja - Streaming Data Over Gatt (Server.C). |
| picow_bt_example_hfp_ag_demo | HFP AG - Audio Gateway. |
| picow_bt_example_hfp_hf_demo | HFP HF - Hands -Free. |
| picow_bt_example_hid_host_demo | Menyembunyikan tuan rumah klasik. |
| picow_bt_example_hid_keyboard_demo | Menyembunyikan keyboard klasik. |
| picow_bt_example_hid_mouse_demo | Menyembunyikan mouse klasik. |
| picow_bt_example_hog_boot_host_demo | HID Boot Host Le. |
| picow_bt_example_hog_host_demo | HID HOST LE. |
| picow_bt_example_hog_keyboard_demo | Menyembunyikan keyboard le. |
| picow_bt_example_hog_mouse_demo | Menyembunyikan tikus le. |
| picow_bt_example_hsp_ag_demo | HSP AG - Audio Gateway. |
| picow_bt_example_hsp_hs_demo | HSP HS - Headset. |
| picow_bt_example_le_credit_based_flow_control_mode_client | Klien Mode Kontrol Aliran Berbasis Kredit-Kirim Data melalui L2CAP. |
| picow_bt_example_le_credit_based_flow_control_mode_server | Server Mode Aliran-Kontrol berbasis Kredit-Terima data melalui L2CAP. |
| picow_bt_example_led_counter | Halo Dunia - Mengedipkan LED tanpa Bluetooth. |
| picow_bt_example_le_mitm | Alat Le Man-in-the-Middle. |
| picow_bt_example_le_streamer_client | Kinerja - Streaming Data Over Gatt (Client.C). |
| picow_bt_example_mod_player | Audio Driver - Mainkan 80's Mod Song. |
| picow_bt_example_nordic_spp_le_counter | Le Nordic SPP-Like Heartbeat Server. |
| picow_bt_example_nordic_spp_le_streamer | Server streamer seperti SPP Le Nordic. |
| picow_bt_example_sdp_general_query | SDP Client - Query Remote SDP Records. |
| picow_bt_example_sdp_rfcomm_query | Klien SDP - Rekaman SDP Query RFComm. |
| picow_bt_example_sine_player | Driver Audio - Mainkan Sine. |
| picow_bt_example_sm_pairing_central | Le Central - Metode pemasangan uji. |
| picow_bt_example_sm_pairing_peripheral | LE Perifheral - Metode pemasangan uji. |
| picow_bt_example_spp_and_gatt_counter | Mode Ganda - SPP dan LE Counter. |
| picow_bt_example_spp_and_gatt_streamer | Mode Ganda - Streamer SPP dan LE. |
| picow_bt_example_spp_counter | SPP Server - Penghitung Detak Jantung atas RFComm. |
| picow_bt_example_spp_flowcontrol | SPP Server - Kontrol Aliran RFComm. |
| picow_bt_example_spp_streamer_client | Kinerja - Streaming data melalui SPP (Client.C). |
| picow_bt_example_spp_streamer | Kinerja - Streaming data melalui SPP (Server.C). |
| picow_bt_example_ublox_spp_le_counter | Server detak jantung seperti le-blox spp. |
Beberapa contoh bluetooth mandiri (tanpa semua contoh infrastruktur build yang umum) juga tersedia:
| Aplikasi | Keterangan |
|---|
| picow_ble_temp_sensor | Dibaca dari sensor suhu di papan dan mengirimkan pemberitahuan melalui ble |
| picow_ble_temp_sensor_with_wifi | Sama seperti di atas tetapi juga terhubung ke Wi-Fi dan memulai server "iperf" |
| picow_ble_temp_reader | Terhubung ke salah satu "sensor" di atas dan membaca suhunya |
Pio
| Aplikasi | Keterangan |
|---|
| hello_pio | Contoh minimal yang menunjukkan cara mengontrol LED dengan mendorong nilai ke PIO FIFO. |
| APA102 | Pola pelangi pada serangkaian LED RGB APA102 yang dapat dialamatkan. |
| clocked_input | Pergeseran data serial, pengambilan sampel dengan jam eksternal. |
| diferensial_manchester | Kirim dan terima diferensial serial encoded Manchester (BMC). |
| hub75 | Tampilkan gambar pada matriks LED 128x64 HUB75 RGB. |
| i2c | Pindai bus I2C. |
| ir_nec | Mengirim dan menerima kode IR (infra-red) menggunakan PIO. |
| logic_analyser | Gunakan PIO dan DMA untuk menangkap jejak logika dari beberapa GPIO, sementara unit PWM mengendarainya. |
| Manchester_encoding | Kirim dan terima serial yang dikodekan Manchester. |
| OneWire | Perpustakaan untuk berinteraksi dengan perangkat 1-kawat, dengan contoh untuk sensor suhu DS18B20. |
| pio_blink | Mengatur beberapa mesin PIO State untuk berkedip LED pada frekuensi yang berbeda, menurut jumlah penundaan yang didorong ke FIFO mereka. |
| PWM | Modulasi lebar pulsa pada pio. Gunakan untuk secara bertahap memudar kecerahan LED. |
| SPI | Gunakan PIO untuk menghapus, memprogram, dan membaca chip Flash SPI eksternal. Contoh kedua menjalankan tes loopback dengan keempat kombinasi CPHA/CPOL. |
| SquareWave | Mengendarai gelombang persegi cepat ke GPIO. Contoh ini mengakses register PIO tingkat rendah secara langsung, alih-alih menggunakan fungsi SDK. |
| squareWave_div_sync | Menghasilkan gelombang persegi pada tiga GPIO dan menyinkronkan pembagi pada semua mesin negara bagian |
| ST7789_LCD | Siapkan PIO untuk output serial 62,5 Mbps, dan gunakan ini untuk menampilkan gambar pemintalan pada LCD serial ST7789. |
| Quadrature_encoder | Encoder quadrature menggunakan PIO untuk mempertahankan jumlah independen dari CPU. |
| quadrature_encoder_substep | Pengukuran Kecepatan Resolusi Tinggi Menggunakan Encoder Quadrature Standar |
| UART_RX | Menerapkan komponen menerima port serial UART. Lampirkan ke uart lengan cadangan untuk melihatnya menerima karakter. |
| UART_TX | Terapkan komponen transmisi port serial UART, dan cetak Hello World. |
| WS2812 | Contoh Mengemudi WS2812 LED RGB yang dapat dialamatkan. |
| tambahan | Tambahkan dua bilangan bulat bersama -sama menggunakan PIO. Hanya sekitar 8 miliar kali lebih lambat dari Cortex-M0+. |
PWM
| Aplikasi | Keterangan |
|---|
| hello_pwm | Contoh minimal mengemudi output PWM pada GPIO. |
| led_fade | Memudar LED antara kecerahan rendah dan tinggi. Pawang interupsi memperbarui tingkat output PWM Slice setiap kali penghitung membungkus. |
| pengukuran_duty_cycle | Mengendarai output PWM pada berbagai siklus tugas, dan menggunakan irisan PWM lain dalam mode input untuk mengukur siklus tugas. |
Mengatur ulang
| Aplikasi | Keterangan |
|---|
| hello_reset | Lakukan reset keras pada beberapa periferal, lalu bawa kembali. |
RTC
| Aplikasi | Keterangan |
|---|
| hello_rtc | Tetapkan tanggal/waktu pada RTC, lalu berulang kali mencetak waktu saat ini, 10 kali per detik, untuk menunjukkannya memperbarui. |
| rtc_alarm | Atur alarm pada RTC untuk memicu interupsi pada tanggal/waktu 5 detik ke depan. |
| rtc_alarm_repeat | Memicu interupsi RTC sekali per menit. |
SHA-256
| Aplikasi | Keterangan |
|---|
| hello_sha256 | Menunjukkan cara menggunakan pustaka pico_sha256 untuk menghitung checksum menggunakan perangkat keras di RP2350 |
| mbedtls_sha256 | Menunjukkan menggunakan akselerasi perangkat keras SHA-256 di MBEDTLS |
SPI
| Aplikasi | Keterangan |
|---|
| BME280_SPI | Pasang sensor suhu/kelembaban/tekanan BME280 melalui SPI. |
| MPU9250_SPI | Pasang Accelerometer/Gyoscope MPU9250 melalui SPI. |
| SPI_DMA | Gunakan DMA untuk mentransfer data baik ke dan dari SPI secara bersamaan. SPI dikonfigurasi untuk loopback. |
| SPI_FLASH | Hapus, program dan baca perangkat flash serial yang terpasang pada salah satu pengontrol SPI. |
| SPI_MASTER_SLAVE | Tunjukkan komunikasi SPI sebagai master dan budak. |
| MAX7219_8X7SEG_SPI | Melampirkan Max7219 Mengemudi Layar Segmen 8 Digit 7 Melalui SPI |
| MAX7219_32X8_SPI | Melampirkan Max7219 Mengendarai Tampilan LED 32x8 melalui SPI |
Sistem
| Aplikasi | Keterangan |
|---|
| boot_info | Demonstrasi cara membaca dan menafsirkan info boot info sys. |
| hello_double_tap | LED berkedip dengan pustaka pico_bootsel_via_double_reset Linked. Ini memasuki USB bootloader ketika mendeteksi sistem yang diatur ulang dua kali secara berurutan, yang berguna untuk papan dengan tombol reset tetapi tidak ada tombol bootsel. |
| Rand | Tunjukkan cara menggunakan fungsi nomor acak PICO. |
| Sempit_io_write | Tunjukkan efek dari 8-bit dan 16-bit menulis pada register IO 32-bit. |
| unik_board_id | Baca ID unik 64 bit dari Flash Eksternal, yang berfungsi sebagai pengidentifikasi unik untuk papan. |
Timer
| Aplikasi | Keterangan |
|---|
| hello_timer | Tetapkan panggilan balik pada timer sistem, yang diulang secara berkala. Batalkan timer setelah kami selesai. |
| Periodic_sampler | Cicipi GPIO dalam panggilan balik pengatur waktu, dan dorong sampel ke antrian yang aman. Data pop dari antrian dalam kode berjalan di latar depan. |
| timer_lowlevel | Contoh akses langsung ke perangkat keras timer. Tidak disarankan secara umum, karena SDK dapat menggunakan timer untuk waktu tunggu IO. |
UART
| Aplikasi | Keterangan |
|---|
| hello_uart | Cetak beberapa teks dari salah satu port serial UART, tanpa melalui stdio . |
| lcd_uart | Tampilkan teks dan simbol pada layar LCD 16x02 RGB melalui UART |
| UART_ADVANCAND | Gunakan beberapa fitur UART lainnya seperti interupsi RX, aliran kontrol perangkat keras, dan format data selain 8n1. |
Universal
Ini adalah contoh cara membangun binari universal yang berjalan di RP2040, dan RP2350 ARM & RISC-V. Ini mengharuskan Anda untuk mengatur PICO_ARM_TOOLCHAIN_PATH dan PICO_RISCV_TOOLCHAIN_PATH ke jalur yang sesuai, untuk memastikan Anda memiliki kompiler untuk kedua arsitektur.
| Aplikasi | Keterangan |
|---|
| berkedip | Sama seperti contoh blink, tetapi universal. |
| hello_universal | Program Hello World wajib untuk PICO (USB dan output serial). Pada RP2350 akan reboot ke arsitektur lain setelah setiap 10 cetakan. |
| nuke_universal | Sama seperti contoh nuklir, tetapi universal. Pada RP2350 berjalan sebagai biner SRAM yang dikemas, jadi ditulis untuk flash dan disalin ke SRAM oleh bootloader |
Perangkat USB
Contoh tinyusb
Sebagian besar contoh perangkat USB datang langsung dari direktori contoh perangkat TinyUSB di sini. Yang didukung pada perangkat RP2040 secara otomatis dimasukkan sebagai bagian dari pico-excamples build sebagai target bernama tinyusb_dev_<example_name> , misalnya https://github.com/hathach/tinyusb/tree/master/examples/device/hid_composcetcite is builted is builted_composcite is builted_composcite is builted is builted_composcite is builted is builted_composcited is building is builted_composcite is builted is builted_composcite is builted_composcited is builted is builted_composcite is builted is builted_composcite is builted is builted_composcate is builted is builted_composit sebagai tinyusb_dev_hid_composite .
Pada saat penulisan, contoh -contoh ini tersedia:
- 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_COMPOSIT
- 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
Sementara contoh -contoh ini dengan cakap menunjukkan cara menggunakan TinyUSB dalam mode perangkat, CMakeLists.txt mereka diatur dengan cara yang disesuaikan dengan bagaimana TinyUsb membangun contoh mereka di dalam pohon sumber mereka.
Untuk contoh yang lebih baik tentang cara mengkonfigurasi CMakeLists.txt untuk menggunakan TinyUsB dalam mode perangkat dengan raspberry pi sdk lihat di bawah:
SDK membangun contoh
| Aplikasi | Keterangan |
|---|
| dev_hid_composite | Salinan contoh perangkat TinyUsb dengan nama yang sama, tetapi dengan cmakelists.txt yang menunjukkan cara menambahkan ketergantungan pada pustaka perangkat tinyUsb dengan raspberry pi pico sdk |
Contoh level rendah
| Aplikasi | Keterangan |
|---|
| dev_lowlevel | Loopback bulk USB diimplementasikan dengan akses langsung ke perangkat keras USB (No TinyUSB) |
Host USB
Semua contoh host USB datang langsung dari Direktori Contoh Host TinyUSB di sini. Mereka yang didukung pada perangkat RP2040 secara otomatis dimasukkan sebagai bagian dari Pico-Excamples Build sebagai target bernama tinyusb_host_<example_name> , mis. sebagai tinyusb_host_cdc_msc_hid .
Pada saat penulisan, hanya ada satu contoh host yang tersedia:
Mode ganda USB
USB Dual Mode menggunakan PIO sebagai pengontrol host USB dan pengontrol perangkat RP2040 USB sebagai pengontrol perangkat. Semua contoh ganda USB datang langsung dari direktori TinyUSB Dual Contoh di sini. Mereka yang didukung pada perangkat RP2040 secara otomatis dimasukkan sebagai bagian dari Pico-Excamples Build sebagai target bernama tinyusb_dual_<example_name> , mis. sebagai tinyusb_dual_host_hid_to_device_cdc .
Pada saat penulisan, hanya ada satu contoh ganda yang tersedia:
- TinyUSB_DUAL_HOST_HID_TO_DEVICE_CDC
Penjaga
| Aplikasi | Keterangan |
|---|
| hello_watchdog | Atur timer pengawas, dan biarkan kedaluwarsa. Mendeteksi reboot, dan berhenti. |