![]() |
spi是全雙工通信,同時是可以的 |
對于NRF其實第一字節寫入的時候讀出來的數據沒有實際意義,第二字節的時候的數據,如果是讀就這寫入的數據就沒有意義,如果是寫這個數據就是你要寫入的數據。 |
差點被你繞暈 首先spi是全雙工通信 主機發送數據的同時也會收到從機發送過來的數據 這叫同發同收 |
在 stm32中 spi 使用的是4線制,有數據輸入和輸出兩個口。 而官方庫在讀取的時候為了讓sck工作 是需要發送數據的。所以四線制是全雙工狀態。 |
我剛好也在看SPI這個功能,里面有個移位寄存器和數據緩沖寄存器,數據寫入移位寄存器由主機發送,同時數據緩沖寄存器從MISO接收數據 |
分享一款好用的USB轉SPI,IIC調試軟件https://pan.baidu.com/s/1qXIwp5q有源碼 |
的確是可以的,你要看相應硬件的資料。 如:當你寫入一個字節時要發出8個CLK,而這8個CLK也正好可以移出8位數字,完全有可能是:CLK上沿寫入數據,而下沿就讀出數據了。 是不是這樣取決于你所用的硬件,是不是這樣設計的。至少我遇到過。 |
SPI是這樣的,主機給從機一位數據的同時,從機給主機一位數據。 |
spi模式有多種。 其中一種是 上升沿發送、下降沿接收、高位先發送。 上升沿到來的時候,sdo上的電平將被發送到從設備的寄存器中。 下降沿到來的時候,sdi上的電平將被接收到主設備的寄存器中。 |