What is PIO | Programmable I/O on Raspberry Pi Pico

preview_player
Показать описание
Microcontroller chips, like our own RP2040 on Raspberry Pi Pico, offer hardware support for protocols such as SPI and I2C. This allows them to send and receive data to and from supported peripherals.

But what happens when you want to use unsupported tech or multiple SPI devices? That’s where Programmable I/O, or PIO, comes in. PIO was developed just for RP2040 and is unique to the chip.

BUY A RASPBERRY PI
--------------

READ OUR BOOKS & MAGAZINES
--------------

GET HELP WITH YOUR RASPBERRY PI
--------------

FOLLOW US
--------------

SUPPORT RASPBERRY PI FOUNDATION
--------------

#RaspberryPi
Рекомендации по теме
Комментарии
Автор

You guys really nailed it with the PIO on the RP2040. This is cool on so many levels, from introducing the basics of Assembler to a Python user, to solving the timing problems you mention in this video. Looking forward to seeing what comes next!

McTroyd
Автор

My grandpappy told me that PIO stands for Pilot Induced Oscillation.

AndrewTubbiolo
Автор

PIO is a great gift to the world. Thank you RPTL.

BrownianMotionPicture
Автор

Very interesting! I'm really enjoying my pico

rondamon
Автор

I hope you guys make a version with WiFi /Bluetooth. Would be amazing. Like an ESP32 + Pico baby.

NextLevelCode
Автор

Cool video, and great explanation! I've had issues with checking for button input while executing other code. It's probably mostly due to the fact that I'm not very good at coding, but it will be helpful to learn to use State Machines for things like that. NeoPixels are also a great example, because it's something I add to most of my projects. Looking forward to your future videos!

joeblow
Автор

I made a matrix of 37 x 8 pixels from a single 300 RGB LED strip and used a pi pico to drive it. I mapped the PETSCII font so it can scroll a text that looks like the C64 including all the graphics characters. The micropython program used PIO to push the data to the LEDs with exact timings. I admit I did not write that code myself but it's also pointless trying to re-invent the wheel so I just copied that code. But I can say out of experience that the RP2040 is pretty darn powerful for its price and size. And now you can emulate a C64 with it including a 320x240 display! It uses PIO to exactly time the VGA output signal which is generated on the fly because the Pico does not have enough RAM for a frame buffer.

paulmichaelfreedman
Автор

It can be useful to make a 5V tolerant gpio Pi Pico.

siriokds
Автор

The link to more information just results in a 'This Page Can't Be Reached' error...

duncanx
Автор

Hi, PIO is present in other Raspberry devices or only in Pico? Thanks in advance

JosSSMr
Автор

I wonder, can I make USB port out of those PIO???

AgainPsychoX
Автор

I have to say I see how PIO is useful but as a beginner I thinks it makes thinks like writing a byte to a port much more complicated than it needs to be. Maybe there is a library that can do this but if so haven’t found it yet. Happy to receive advice if anyone has more knowledge that’s. Best regards Chris

allthegearnoidea
Автор

Don't ESP32s have PIO? Or is my naivety showing?

markharrisllb
Автор

When is support for arduino ide coming?

rohitjg
Автор

Why do you always try to advertize for MicroPython in your videos while C++ is also possible with RP2040

RogerTannous
Автор

What about using this as a USB joystick?

TimothyChapman
Автор

Morse Code is NOT a series of dots and dashes. It is a series of dits and dahs!

SpeccyMan
Автор

Programmed I/O is not new. Many generations of Parallel ATA / IDE harddisks used PIO for data handling. The disk's label would state the type of interface and the mode of operation (PIO mode x)

paulmichaelfreedman
Автор

Bought my first ever single board computer (pi zero w)

BharatMohanty
Автор

It's pronounced "I squared C, " not "I two C." It's actually supposed to be stylized I²C as well, but since that wasn't easily doable in the 80s, I2C was accepted.

hellterminator