What is SPI_HALF_DUPLEX in Zephyr #69985
Replies: 2 comments 4 replies
-
Well, in the SPI world, "3-wire" means there are 3 wires between the host and the peripheral: CS, CLK, and a single DATA line, instead of the more common 4 wires with separate DATA_OUT and DATA_IN lines. A 4-wire configuration could run in either full-duplex or half-duplex, but from what I've seen, most Zephyr SPI drivers don't support half-duplex operation. A 3-wire configuration, of course, can only run in half-duplex; in my case, trying to talk to a 3-wire device with a Raspberry Pi Pico, I have flip the direction of the GPIO line between sending a command and receiving the data (and making sure the flip it back before sending the next command!). |
Beta Was this translation helpful? Give feedback.
-
THe original definition of spi is only full duplex 4 wire (good old motorola spi) https://onlinedocs.microchip.com/pr/GUID-835917AF-E521-4046-AD59-DCB458EB8466-en-US-1/index.html?GUID-E4682943-46B9-4A20-A62C-33E8FD3343A3 From the missuses implementations i saw they always define 3 wire as a half duplex, E.g. https://www.st.com/en/microcontrollers-microprocessors/stm32l0-series/documentation.html |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Zephyr says:
4 votes ·
Beta Was this translation helpful? Give feedback.
All reactions