說明:SPI接口有一個(gè)特點(diǎn),即在時(shí)鐘SCK的上升沿打入數(shù)據(jù)MOSI,在下降沿讀入數(shù)據(jù)MISO.片選信號CS有正負(fù)區(qū)別.在硬件上MOSI與MISO是可以短路變?yōu)镾IO可讀寫IO的.故SPI可為(不包括CS)三線(SCK,MOSI,MISO)協(xié)議,兩線(SCK,SI
以前弄的 51與FPGA用SPI進(jìn)行通信的測試程序, 模擬的具體是SPI的哪種模式記不清了,只要改下sclk的時(shí)序就可以了.#include#include#include#include//SPI接口sbit cs = P2^3;sbit sclk = P2^4;sbit din = P2^2;sbit do
AVR的SPI接口很多只有一個(gè),如果驅(qū)動(dòng)較多的以SPI接口的外設(shè)時(shí)就必須通過IO來模擬,實(shí)際上對于低速外設(shè)來說IO模擬的方式也很方便,網(wǎng)上關(guān)于模擬SPI的程序很多,我的程序是基于GCCAVR來寫的,其他編譯器的都類似,寫的
自己畫的一塊基于STM32F103VET6的開發(fā)測試板,留有一個(gè)NRF24L01+的通信接口,之前買了一些NRF24L01+的模塊打算研究一下用上,淘寶上買的比較便宜,可以用于物聯(lián)網(wǎng)方面的無線應(yīng)用吧。做過NRF905的通信,NRF24L01的也是
IO口模擬SPI的問題,其實(shí)光模擬來說,就時(shí)序問題,讀取和寫入一個(gè)字節(jié)的時(shí)序。 首先選4個(gè)IO口,作模擬用,分別模擬CS、SCLK、SI、SO.即是片選、時(shí)鐘、數(shù)據(jù)輸入、數(shù)據(jù)輸出。 IO口初始化,分別把對應(yīng)的IO口設(shè)置輸入