Raspberry PI RP2350 PICO SDK -Beispiele - Frühzugriff
RP2350 Anweisungen
Alles unter diesem Abschnitt stammt aus den stock pico-examples. Ignorieren Sie also URLs usw., aber im Allgemeinen sind Anweisungen gleich.
Der PICO SDK -Standard ist weiterhin für RP2040 (pico_platform = rp2040) erstellt. Um für RP2350 zu erstellen, müssen Sie -DPICO_PLATFORM=rp2350
an CMAKE (oder -DPICO_PLATFORM=rp2350-riscv
für RISC -V) übergeben.
Die meisten, aber nicht alle Beispiele arbeiten derzeit an RP2350, aber Sie sollten in der Lage sein, einen vollständigen Build mit einer der oben genannten Plattformen durchzuführen (Pico_Platform = Host, der jedoch derzeit einige Beispiele fehlschlägt)
Für die RISC-V-Kompilierung sollten Sie einen Compiler von hier nehmen: https://www.embecosm.com/resources/tool-chain-downloads/#riscv-stable
Original Pico-Examples Docs
Erste Schritte
Sehen Sie, wie Sie mit dem Raspberry Pi Pico und dem Readme in der Pico-SDK beginnen, um Informationen über das Aufbau zu erhalten.
Erste Beispiele
App | Beschreibung | Link zu vorgebauten UF2 |
---|
Hallo_Serial | Das obligatorische Hello World -Programm für Pico (Ausgabe über serielle Version) | |
Hallo_usb | Das obligatorische Hello World -Programm für Pico (Ausgabe über USB -Version) | https://rptl.io/pico-hello-usb |
blinken | Blinzeln Sie eine LED ein und aus. Arbeitet in beiden Boards mit regelmäßigen LEDs und Pico W. | https://rptl.io/pico-blink |
blink_simple | Blinzeln Sie eine LED ein und aus. Funktioniert nicht auf Pico W. | https://rptl.io/pico-blink |
picow_blink | Blinkt die PICO W On-Board-LED (die über den WLAN-Chip verbunden ist). | http://rptl.io/pico-w-bink |
ADC
App | Beschreibung |
---|
Hallo_adc | Zeigen Sie die Spannung von einem ADC -Eingang an. |
Joystick_Display | Zeigen Sie einen Joystick X/Y -Eingang an, der auf zwei ADC -Eingängen basiert. |
adc_console | Eine interaktive Hülle zum Spielen mit dem ADC. Enthält ein Beispiel für den freien Erfassungsmodus. |
Onboard_Temperature | Zeigen Sie den Wert des Bord -Temperatursensors an. |
microphon_adc | Lesen Sie analoge Werte aus einem Mikrofon und zeichnen Sie die gemessene Schallamplitude auf. |
DMA_Capture | Verwenden Sie das DMA, um viele Proben aus dem ADC zu erfassen. |
read_vsys | Zeigt, wie man VSYs liest, um die Spannung der Stromversorgung zu erhalten. |
Bootloader (nur RP2350)
App | Beschreibung |
---|
ENC_BOOTLOADER | Ein Bootloader, der Binärdateien von Flash in SRAM entschlüsselt. Weitere Informationen finden Sie im separaten Readme |
Uhren
App | Beschreibung |
---|
Hallo_48MHz | Ändern Sie die Systemtaktfrequenz während des Laufens auf 48 MHz. |
Hello_gpout | Verwenden Sie die Allzweck -Uhr -Ausgänge (GPOUT), um die Abteilungen interner Uhren auf GPIO -Ausgängen zu treiben. |
Hallo_Resus | Aktivieren Sie die Wiederbelebung der Uhr, die die Funktion "versehentlich" wieder aufnehmen, und zeigen Sie, wie wir uns wiederherstellen. |
detached_clk_peri | Periphere Taktion und Variation der Systemuhr. |
Cmake
App | Beschreibung |
---|
Build_variants | Erstellt zwei Versionen derselben App mit unterschiedlichen Konfigurationen |
DCP
App | Beschreibung |
---|
Hallo_dcp | Verwenden Sie den Coprozessor mit doppelter Präzision direkt im Assembler. |
DMA
App | Beschreibung |
---|
Hallo_dma | Verwenden Sie die DMA, um Daten im Speicher zu kopieren. |
control_blocks | Erstellen Sie eine Kontrollblockliste, um eine längere Abfolge von DMA -Übertragungen an die UART zu programmieren. |
Channel_irq | Verwenden Sie einen IRQ -Handler, um einen DMA -Kanal neu zu konfigurieren, um Daten kontinuierlich über eine PIO -Zustandsmaschine zu fördern. |
Sniff_crc | Verwenden Sie die "Sniff" der DMA -Engine, um einen CRC32 für einen Datenpuffer zu berechnen. |
HSTX
App | Beschreibung |
---|
DVI_OUT_HSTX_ECODER RP2350 | Verwenden Sie den HSTX, um ein DVI -Signal mit 3: 3: 2 RGB auszugeben |
Blitz
App | Beschreibung |
---|
cache_perfctr | Lesen und löschen Sie die Cache -Performance -Zähler. Zeigen Sie, wie sie von verschiedenen Arten von Blitzlesungen betroffen sind. |
Nuke | Löschen Sie den Inhalt des Blitzes. Ein Beispiel für eine NO_FLASH-Binärdatei (UF2 wird direkt in SRAM geladen und läuft dort an der Stelle). Ein nützliches Dienstprogramm zum Ziehen und fallen auf Ihren Pico, wenn dies erforderlich ist. |
Programm | Löschen Sie einen Flash -Sektor, programmieren Sie eine Flash -Seite und lesen Sie die Daten zurück. |
xip_stream | Streamen Sie Daten mithilfe der XIP -Stream -Hardware, mit der Daten im Hintergrund während der Ausführung von Code von Flash im Hintergrund dmiert werden können. |
ssi_dma | DMA direkt von der Flash -Schnittstelle (kontinuierliches SCK -Takt) für maximale lesende Leistung. |
runTime_flash_permissions | Zeigt das Hinzufügen von Partitionen zur Laufzeit, um die Flash -Berechtigungen zu ändern |
Freertos
In diesen Beispielen müssen Sie den FREERTOS_KERNEL_PATH
auf den Freertos -Kernel festlegen. Siehe https://github.com/freertos/freertos-kernel
App | Beschreibung |
---|
Hallo_Freertos | Beispiele, die zeigen, wie Freertos und Aufgaben auf 1 oder 2 Kernen ausgeführt werden. |
GPIO
App | Beschreibung |
---|
Hallo_7segment | Verwenden Sie die GPIOs, um ein LED -Display von sieben Segments zu fahren. |
hello_gpio_irq | Registrieren Sie einen Interrupt -Handler, der ausgeführt wird, wenn ein GPIO umgeschaltet ist. |
DHT_SENSOR | Verwenden Sie GPIO, um das serielle Protokoll für einen DHT -Temperatur-/Luftfeuchtigkeitsensor zu Bitbang. |
Siehe auch: Blinken, blinzeln Sie eine LED, die an einem GPIO angebracht ist.
HW -Teiler
App | Beschreibung |
---|
Hallo_Divider | Zeigen Sie, wie Sie direkt auf die Hardware -Ganzzahl -Trenner zugreifen, falls die AEADI -Injektion deaktiviert ist. |
I2C
App | Beschreibung |
---|
BUS_SCAN | Scannen Sie den I2C -Bus nach Geräten und zeigen Sie Ergebnisse an. |
BMP280_I2C | Lesen und konvertieren Sie die Temperatur- und Druckdaten von einem BMP280 -Sensor, der an einen I2C -Bus angebracht ist. |
LCD_1602_I2C | Zeigen Sie einen Text auf einer generischen 16x2 -LCD -Anzeige über i2c an. |
lis3dh_i2c | Lesen Sie die Beschleunigung und den Temperaturwert eines LIS3DH -Sensors über i2c |
MCP9808_I2C | Temperatur lesen, Grenzwerte festlegen und Warnungen erhöhen, wenn Grenzwerte übertroffen werden. |
MMA8451_I2C | Lesen Sie die Beschleunigung eines MMA8451 -Beschleunigungsmessers und setzen Sie den Bereich und die Präzision für die Daten fest. |
MPL3115A2_I2C | Schnittstelle mit einem MPL3115A2 -Höhenmesser, das Interrupts und erweiterte Board -Funktionen über I2C erforscht. |
MPU6050_I2C | Lesen Sie die Werte für Beschleunigungs- und Winkelrate aus einem MPU6050 -Beschleunigungsmesser/Kreisel, der an einen I2C -Bus angebracht ist. |
SSD1306_I2C | Konvertieren und anzeigen Sie eine Bitmap auf einem 128x32 oder 128x64 SSD1306-betriebenen OLED-Display um |
pa1010d_i2c | Lesen Sie GPS -Standortdaten, analysieren und zeigen Sie Daten über I2C an. |
PCF8523_I2C | Lesen Sie Zeit- und Datumswerte aus einer Echtzeituhr. Stellen Sie die aktuelle Zeit und Alarme ein. |
ht16K33_i2c | Starten Sie eine 4 -stellige 14 -Segment -LED mit einem HT16K33. |
slave_mem_i2c | I2C -Sklavenbeispiel, bei dem der Sklave einen 256 -Byte -Speicher implementiert |
Interpolator
App | Beschreibung |
---|
Hello_interp | Ein Bündel kleiner Beispiele, die zeigen, wie man auf die Kern-lokale Interpolator-Hardware zugreift und die meisten seiner Funktionen verwendet. |
Multicore
App | Beschreibung |
---|
Hello_multicore | Starten Sie eine Funktion im zweiten Kern, drucken Sie einige Nachrichten auf jedem Kern aus und geben Sie Daten über die Mailbox FIFOS hin und her. |
Multicore_fifo_irqs | Registrieren Sie und unterbrechen Sie den Handler für die Mailbox FIFOS an jedem Kern. Zeigen Sie, wie der Interrupt feuert, wenn dieser Kern eine Nachricht empfängt. |
Multicore_Runner | Richten Sie den zweiten Kern ein, um jeden Funktionszeiger in den Mailbox FIFO zu akzeptieren und auszuführen. Drücken Sie ein paar Codestücke ein und holen Sie sich die Antworten zurück. |
Multicore_doorbell | Behauptet zwei Türklingeln für die Signalübertragung zwischen den Kernen. Zählt, wie viele Türklingeln IRQs im zweiten Kern auftreten und verwendet Türklingeln, um den Ausgang zu koordinieren. |
OTP
App | Beschreibung |
---|
Hello_otp | Demonstrieren Sie das Lesen und Schreiben aus dem OTP auf RP2350 zusammen mit einigen der Funktionen von OTP (Fehlerkorrektur und Seitenverriegelung). |
Pico Board
App | Beschreibung |
---|
blinkend | Blink "Hallo, Welt" in Morse Code auf Picos LED |
Taste | Verwenden Sie Picos Bootsel -Schaltfläche als reguläre Tasteeingabe, indem Sie den Flash -Zugriff vorübergehend suspendieren. |
Pico W Networking
Diese Beispiele gelten für den Pico W und sind nur für PICO_BOARD=pico_w
erhältlich
App | Beschreibung |
---|
picow_access_point | Startet einen WiFi -Zugriffspunkt und Felder DHCP -Anfragen. |
picow_blink | Blinkt die Bord-LED (die über den WLAN-Chip angeschlossen ist). |
picow_blink_slow_clock | Blinkt die On-Board-LED (die über den WLAN-Chip angeschlossen ist) mit einer langsameren Systemuhr, um zu zeigen, wie die Kommunikation mit dem WLAN-Chip unter diesen Umständen neu konfiguriert werden kann |
picow_iperf_server | Führt einen "iperf" -Server für WLAN -Geschwindigkeitstests aus. |
picow_ntp_client | Stellt eine Verbindung zu einem NTP -Server her, um die aktuelle Zeit zu holen und anzuzeigen. |
picow_tcp_client | Ein einfacher TCP -Client. Sie können python_test_tcp_server.py ausführen, damit es eine Verbindung zu einer Verbindung herstellt. |
picow_tcp_server | Ein einfacher TCP -Server. Sie können python_test_tcp_client.py verwenden, um eine Verbindung dazu herzustellen. |
picow_tls_client | Zeigt, wie eine HTTPS -Anforderung mit TLS erstellt wird. |
picow_tls_verify | Zeigt, wie eine HTTPS -Anforderung mit TLS mit Zertifikatprüfung erstellt wird. |
picow_wifi_scan | Scans nach WLAN -Netzwerken und druckt die Ergebnisse. |
PICOW_UDP_BEACON | Ein einfacher UDP -Sender. |
picow_httpd | Führt eine LWIP -HTTP -Server -Test -App aus |
Freertos Beispiele
Dies sind Beispiele für die Integration der Pico -W -Vernetzung unter Freertos und erfordern, dass Sie den FREERTOS_KERNEL_PATH
so einstellen, dass sie auf den Freertos -Kernel verweisen. Siehe https://github.com/freertos/freertos-kernel
App | Beschreibung |
---|
PICOW_FREERTOS_IPERF_SERVER_NOSYS | Führt einen "iperf" -Server für WLAN -Geschwindigkeitstests unter Freertos im NO_SYS = 1 -Modus aus. Die LED ist in einer anderen Aufgabe blinzelt |
PICOW_FREERTOS_IPERF_SERVER_SYS | Führt einen "iperf" -Server für WLAN -Geschwindigkeitstests unter Freertos im Modus NO_SYS = 0 (dh Vollfreertos -Integration) aus. Die LED ist in einer anderen Aufgabe blinzelt |
PICOW_FREERTOS_PING_NOSYS | Führt die LWIP-Contrib/Apps/Ping-Test-App unter Freertos im Modus NO_SYS = 1 aus. |
PICOW_FREERTOS_PING_SYS | Führt die LWIP-Contrib/Apps/Ping-Test-App unter Freertos im Modus NO_SYS = 0 (dh Vollfreertos-Integration) aus. Die Test -App verwendet in diesem Fall die LWIP -Socket -API. |
picow_freertos_ntp_client_socket | Verbindet eine Verbindung zu einem NTP -Server mit der LWIP -Socket -API mit Freertos im Modus NO_SYS = 0 (dh Vollfreertos -Integration). |
pico_freertos_httpd_nosys | Führt eine LWIP -HTTP -Server -Test -App unter Freertos im NO_SYS = 1 -Modus aus. |
pico_freertos_httpd_sys | Führt eine LWIP -HTTP -Server -Test -App unter Freertos im NO_SYS = 0 (dh Vollfreertos -Integration) aus. |
Pico W Bluetooth
Diese Beispiele gelten für das Pico W und sind nur für PICO_BOARD=pico_w
verfügbar. Sie sind Beispiele aus dem Blue Kitchen Bluetooth Stack, siehe hier eine vollständige Beschreibung.
Standardmäßig sind die Bluetooth -Beispiele nur in einem "Modus" integriert ( Hintergrund , Umfrage oder Freertos ), wobei der Standardhintergrund Hintergrund ist. Dies kann geändert werden, indem -DBTSTACK_EXAMPLE_TYPE=poll
usw. an CMake
übergeben werden, oder alle Beispiele können (was langsam sein kann) durch Bestehen von -DBTSTACK_EXAMPLE_TYPE=all
Freertos -Versionen erstellt werden können, wenn FREERTOS_KERNEL_PATH
definiert ist.
Die Bluetooth-Beispiele, die Audio verwenden, erfordern Code in Pico-Extras. Pass -DPICO_EXTRAS_PATH=${HOME}/pico-extras
in der cmake-Befehlszeile oder definieren Sie PICO_EXTRAS_PATH=${HOME}/pico-extras
in Ihre Umgebung und führen Sie CMake erneut in den Build ein.
App | Beschreibung |
---|
picow_bt_example_a2dp_sink_demo | A2DP Sink - Empfang Audio -Stream und Steuerungsumstellung. |
picow_bt_example_a2dp_source_demo | A2DP -Quelle - Stream -Audio- und Steuervolumen. |
picow_bt_example_ancs_client_demo | LE ANCS -Kunde - Apple Benachrichtigungsdienst. |
picow_bt_example_att_delayed_response | Le Peripheral - Verzögerte Reaktion. |
picow_bt_example_audio_duplex | Audio -Treiber - Audio von der Quelle zu sinken. |
picow_bt_example_avrcp_browsing_client | AVRCP -Surfen - Durchsuchen Sie Medienspieler und Medieninformationen. |
picow_bt_example_dut_mode_classic | Testen - Aktivieren Sie den Modus "In Testen) für klassisch. |
picow_bt_example_gap_dedated_bonding | Gap -Bindung |
picow_bt_example_gap_inquiry | Gap Classic Inquiry. |
picow_bt_example_gap_le_advertisements | GAP Le Advertisements Scanner. |
picow_bt_example_gap_link_keys | Gap Link Key Management (Classic.c). |
picow_bt_example_gatt_battery_query | Gatt Battery Service Client. |
picow_bt_example_gatt_browser | Gatt Client - Primärdienste entdecken. |
picow_bt_example_gatt_counter | GATT Server - Herzschlagschalter über Gatt. |
picow_bt_example_gatt_device_information_query | GATT -Geräteinformationsdienst Client. |
picow_bt_example_gatt_heart_rate_client | GATT -Herzfrequenzsensor -Client. |
picow_bt_example_gatt_streamer_server | Leistung - Stream -Daten über GATT (server.c). |
picow_bt_example_hfp_ag_demo | HFP AG - Audio -Gateway. |
picow_bt_example_hfp_hf_demo | HFP HF - Freisprecheinsatz. |
picow_bt_example_hid_host_demo | HID HOST CLASSION. |
picow_bt_example_hid_keyboard_demo | HID Keyboard Classic. |
picow_bt_example_hid_mouse_demo | HID -Mausklassiker. |
picow_bt_example_hog_boot_host_demo | HID STOAT HOST LE. |
picow_bt_example_hog_host_demo | HID HOST LE. |
picow_bt_example_hog_keyboard_demo | HID -Tastatur Le. |
picow_bt_example_hog_mouse_demo | Versteckte Maus 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 | LE-Kredit-basierte Flow-Control-Modus-Client-Senden Sie Daten über L2CAP. |
picow_bt_example_le_credit_based_flow_control_mode_server | LE-Kredit-basierte Flow-Control-Modus-Server-Empfangen Sie Daten über L2CAP. |
picow_bt_example_led_counter | Hallo Welt - blinzeln eine LED ohne Bluetooth. |
picow_bt_example_le_mitm | Le Man-in-the-Middle-Werkzeug. |
picow_bt_example_le_streamer_client | Leistung - Stream -Daten über GATT (client.c). |
picow_bt_example_mod_player | Audiofahrer - MOD -Song der 80er Jahre spielen. |
picow_bt_example_nordic_spp_le_counter | Le Nordic SPP-ähnlicher Heartbeat-Server. |
picow_bt_example_nordic_spp_le_streamer | Le Nordic SPP-ähnlicher Streamer-Server. |
picow_bt_example_sdp_general_query | SDP -Client - Abfragen von Remote -SDP -Datensätzen. |
picow_bt_example_sdp_rfcomm_query | SDP -Client - RFCOMM -SDP -Datensatz abfragen. |
picow_bt_example_sine_player | Audiofahrer - Sinus spielen. |
picow_bt_example_sm_pairing_central | LE Central - Testpaarungsmethoden. |
picow_bt_example_sm_pairing_peripheral | Le Peripheralal - Testpaarungsmethoden. |
picow_bt_example_spp_and_gatt_counter | Dual -Modus - SPP und LE -Zähler. |
picow_bt_example_spp_and_gatt_streamer | Dual -Modus - SPP und Le Streamer. |
picow_bt_example_spp_counter | SPP -Server - Herzbewegungszähler über RFComm. |
picow_bt_example_spp_flowcontrol | SPP Server - RFCOMM Flow Control. |
picow_bt_example_spp_streamer_client | Leistung - Stream -Daten über SPP (client.c). |
picow_bt_example_spp_streamer | Leistung - Stream -Daten über SPP (Server.c). |
picow_bt_example_ublox_spp_le_counter | LE U-Blox SPP-ähnlicher Heartbeat-Server. |
Einige eigenständige Bluetooth -Beispiele (ohne alle üblichen Beispiele -Build -Infrastrukturen) sind ebenfalls verfügbar:
App | Beschreibung |
---|
picow_ble_temp_sensor | Liest aus dem Temperatursensor an Bord und sendet Benachrichtigungen über BLE |
picow_ble_temp_sensor_with_wifi | Gleich wie oben stellt sich aber auch eine Verbindung zu Wi-Fi her und startet einen "iperf" -Server |
picow_ble_temp_reader | Verbindet sich mit einem der oben genannten "Sensoren" und liest die Temperatur |
PIO
App | Beschreibung |
---|
Hello_pio | Absolut minimales Beispiel zeigt, wie eine LED kontrolliert werden kann, indem Werte in ein PIO FIFO gedrückt werden. |
APA102 | Regenbogenmuster auf einer Reihe von APA102 adressierbaren RGB -LEDs. |
cakted_input | Verschiebung der seriellen Daten, Abtastung mit einer externen Uhr. |
Differential_Manchester | Senden und empfangen Sie differentielle Manchester-codierte Serien (BMC). |
HUB75 | Zeigen Sie ein Bild auf einer 128x64 HUB75 RGB LED -Matrix an. |
I2C | Scannen Sie einen I2C -Bus. |
ir_nec | Senden und Empfangen von IR-Codes (Infra-Red) mit dem PIO. |
LOGIC_ANALYSER | Verwenden Sie PIO und DMA, um eine logische Spur einiger GPIOs zu erfassen, während eine PWM -Einheit sie antreibt. |
Manchester_encoding | Senden und empfangen Sie in Manchester codierte Serie. |
OneWire | Eine Bibliothek zur Schnittstelle auf 1-Wire-Geräte mit einem Beispiel für den Temperatursensor DS18B20. |
PIO_BLINK | Richten Sie einige PIO -State -Maschinen ein, um LEDs bei unterschiedlichen Frequenzen zu blinken. Laut Verzögerungszählungen, die in ihre FIFOS gedrückt wurden. |
PWM | Impulsbreite Modulation auf PIO. Verwenden Sie es, um die Helligkeit einer LED nach und nach zu verblassen. |
spi | Verwenden Sie PIO, um einen externen SPI -Flash -Chip zu löschen, zu programmieren und zu lesen. In einem zweiten Beispiel führt ein Loopback -Test mit allen vier CPHA/CPOL -Kombinationen aus. |
Quadratwelle | Fahren Sie eine schnelle Quadratwelle auf einen GPIO. Dieses Beispiel greift direkt auf PIO-Register auf niedrige Ebene zu, anstatt die SDK-Funktionen zu verwenden. |
squarewave_div_sync | Erzeugt eine Quadratwelle bei drei GPIOs und synchronisiert den Teiler auf allen Zustandsmaschinen |
ST7789_LCD | Richten Sie PIO für eine serielle Ausgabe von 62,5 Mbit / s ein und zeigen Sie mit diesem seriellen LCD ein Spinnbild an. |
quadrature_encoder | Ein Quadratur -Encoder, der PIO unter Verwendung von PIO zur Aufrechterhaltung der CPU zählt. |
quadrature_encoder_substep | Hochauflösende Geschwindigkeitsmessung mit einem Standard -Quadratur -Encoder |
UART_RX | Implementieren Sie die Empfangskomponente eines seriellen UART -Ports. Befestigen Sie es am Ersatzarm UART, um zu sehen, dass es Zeichen empfängt. |
UART_TX | Implementieren Sie die Sendungskomponente eines seriellen UART -Ports und drucken Sie die Hello World. |
WS2812 | Beispiele für das Fahren von WS2812 adressierbares RGB -LEDs. |
Zusatz | Fügen Sie zwei Ganzzahlen mit PIO zusammen. Nur etwa 8 Milliarden Mal langsamer als Cortex-M0+. |
PWM
App | Beschreibung |
---|
Hallo_pwm | Minimales Beispiel für das Fahren von PWM -Ausgang auf GPIOs. |
led_fade | Verblassen Sie eine LED zwischen niedriger und hoher Helligkeit. Ein Interrupt -Handler aktualisiert das Ausgangspegel des PWM Slice jedes Mal, wenn der Zähler wickelt. |
mess_duty_cycle | Fährt eine PWM -Ausgabe in einem Bereich von Arbeitszyklen und verwendet ein weiteres PWM -Schicht im Eingabemodus, um den Arbeitszyklus zu messen. |
Zurücksetzen
App | Beschreibung |
---|
Hello_reset | Führen Sie ein paar Peripheriegeräte einen harten Reset durch und bringen Sie sie dann wieder hoch. |
RTC
App | Beschreibung |
---|
Hallo_Rtc | Legen Sie ein Datum/die Uhrzeit auf dem RTC fest und drucken Sie dann die aktuelle Zeit und zehnmal pro Sekunde wiederholt, um das Update anzuzeigen. |
rtc_alarm | Stellen Sie einen Alarm auf dem RTC ein, um einen Interrupt zu einem Datum/Uhrzeit 5 Sekunden in die Zukunft auszulösen. |
rtc_alarm_repeat | Lösen Sie einmal pro Minute einen RTC -Interrupt. |
SHA-256
App | Beschreibung |
---|
Hello_sha256 | Zeigt, wie Sie die Bibliothek PICO_SHA256 verwenden, um eine Prüfsumme mithilfe der Hardware in RP2350 zu berechnen |
MbedTLS_SHA256 | Zeigt die Verwendung der SHA-256-Hardware-Beschleunigung in MbedTLs |
Spi
App | Beschreibung |
---|
BME280_spi | Befestigen Sie einen BME280 -Temperatur-/Luftfeuchtigkeit/Druck -Sensor über SPI. |
mpu9250_spi | Befestigen Sie ein MPU9250 Accelerometer/Gyoskop über SPI. |
spi_dma | Verwenden Sie DMA, um Daten sowohl auf als auch vom SPI gleichzeitig zu übertragen. Der SPI ist für Loopback konfiguriert. |
spi_flash | Löschen, programmieren und ein serielles Blitzgerät lesen, das an einen der SPI -Controller angeschlossen ist. |
SPI_MASTER_SLAVE | Demonstrieren Sie die SPI -Kommunikation als Meister und Sklave. |
max7219_8x7seg_spi | Anbringen eines MAX7219 Anbringen eines 8 -stelligen 7 -Ziffer -Segment -Displays über SPI |
max7219_32x8_spi | Anbringen eines MAX7219 -Anbringens eines 32x8 -LED -Displays über SPI |
System
App | Beschreibung |
---|
boot_info | Zeigen Sie, wie Sie SYS -Info -Boot -Informationen lesen und interpretieren. |
hello_double_tap | Eine LED Blink mit der Bibliothek pico_bootsel_via_double_reset verlinkt. Dies tritt in den USB -Bootloader ein, wenn das System, das zweimal in schneller Folge zurückgesetzt wird, erkennt, was für Boards mit einer Reset -Taste nützlich ist, aber ohne Bootsel -Taste. |
Rand | Zeigen Sie, wie Sie die PICO -Funktionsfunktionen verwenden. |
schal_io_write | Demonstrieren Sie die Auswirkungen von 8-Bit- und 16-Bit-Schreiben auf ein 32-Bit-IO-Register. |
Unique_board_id | Lesen Sie die 64 -Bit -ID von External Flash, die als eindeutige Kennung für das Board dient. |
Timer
App | Beschreibung |
---|
Hallo_Timer | Setzen Sie Rückrufe auf dem System -Timer ein, die in regelmäßigen Abständen wiederholen. Stornieren Sie den Timer, wenn wir fertig sind. |
Periodic_sampler | Proben Sie GPIOs in einem Timer-Rückruf und schieben Sie die Proben in eine gleichzeitbedingte Warteschlange. POP -Daten aus der Warteschlange im Code im Vordergrund. |
Timer_lowlevel | Beispiel für den direkten Zugriff auf die Timer -Hardware. Nicht allgemein empfohlen, da der SDK den Timer für IO -Zeitüberschreitungen verwenden kann. |
Uart
App | Beschreibung |
---|
Hallo_Uart | Drucken Sie einen Text von einem der seriellen UART -Anschlüsse, ohne stdio zu durchlaufen. |
lcd_uart | Zeigen Sie Text und Symbole auf einer 16x02 RGB LCD -Anzeige über UART an |
uart_advanced | Verwenden Sie einige andere UART -Funktionen wie RX -Interrupts, Hardware -Steuerfluss und andere Datenformate als 8N1. |
Universal
Dies sind Beispiele für den Bau von universellen Binärdateien, die auf RP2040 und RP2350 Arm & Risc-V ausgeführt werden. Bei diesen müssen Sie PICO_ARM_TOOLCHAIN_PATH
und PICO_RISCV_TOOLCHAIN_PATH
auf entsprechende Pfade festlegen, um sicherzustellen, dass Sie Compiler für beide Architekturen haben.
App | Beschreibung |
---|
blinken | Gleich wie das Blink -Beispiel, aber universell. |
Hallo_universal | Das obligatorische Hello World -Programm für PICO (USB- und Serienausgabe). Auf RP2350 wird es nach 10 Drucken auf die andere Architektur neu gestartet. |
nuke_universal | Gleich wie das Nuke -Beispiel, aber universell. Auf RP2350 läuft als verpackter SRAM -Binäran |
USB -Gerät
TinyusB -Beispiele
Die meisten Beispiele für USB -Geräte stammen hier direkt aus dem TinyusB -Geräte -Beispielverzeichnis. Diejenigen, die auf RP2040-Geräten unterstützt werden, werden automatisch als Teil der Pico-Examples-Builds als Ziele mit dem Namen tinyusb_dev_<example_name>
enthalten. als tinyusb_dev_hid_composite
.
Zum Zeitpunkt des Schreibens sind diese Beispiele verfügbar:
- 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_RUNTERIME
- TINYUSB_DEV_DYNAMIC_CONfiguration
- TINYUSB_DEV_HID_COMPOT
- 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
Diese Beispiele zeigen zwar nach, wie man TinyUsB im Gerätemodus verwendet, ihre CMakeLists.txt
.
Für ein besseres Beispiel für die Konfiguration CMakeLists.txt
für die Verwendung von TinyUSB im Gerätemodus mit dem Raspberry Pi SDK siehe unten:
SDK Build -Beispiel
App | Beschreibung |
---|
dev_hid_composite | Eine Kopie des TinyUsB -Gerätebeispiels mit demselben Namen, jedoch mit einem cmakelists.txt, der zeigt |
Beispiel mit niedrigem Niveau
App | Beschreibung |
---|
dev_lowlevel | Ein USB -Bulk -Loopback mit direktem Zugriff auf die USB -Hardware (No TinyUSB) |
USB -Host
Alle USB -Host -Beispiele stammen hier direkt aus dem TinyusB -Host -Beispielverzeichnis. Diejenigen, die auf RP2040 tinyusb_host_<example_name>
Geräten unterstützt werden als tinyusb_host_cdc_msc_hid
.
Zum Zeitpunkt des Schreibens gibt es nur ein Beispiel für einen Host:
USB -Dual -Modus
Der USB -Dual -Modus verwendet PIO als USB -Host -Controller und den RP2040 USB -Geräte -Controller als Gerätecontroller. Alle USB -Dual -Beispiele stammen hier direkt aus dem TinyusB -Dual -Beispielverzeichnis. Diejenigen, die auf RP2040-Geräten unterstützt werden, werden automatisch als Teil des Pico-Examples-Builds als Ziele mit dem Namen tinyusb_dual_<example_name>
enthalten, z. als tinyusb_dual_host_hid_to_device_cdc
.
Zum Zeitpunkt des Schreibens gibt es nur ein doppeltes Beispiel:
- TINYUSB_DUAL_HOST_HID_TO_DEVICE_CDC
Wachhund
App | Beschreibung |
---|
Hello_watchdog | Stellen Sie den Watchdog -Timer ein und lassen Sie es ablaufen. Den Neustart erkennen und anhalten. |