采用普通數(shù)字IO實(shí)現(xiàn)SPI通信的關(guān)鍵
前不久在一個(gè)項(xiàng)目中使用普通數(shù)字IO口線實(shí)現(xiàn)了軟件SPI的功能,仔細(xì)想來,其實(shí)也非常簡(jiǎn)單,主要是要首先理解到以下兩點(diǎn): SPI有主機(jī)方式和叢集方式,可以這樣認(rèn)為:主機(jī)和從機(jī)模式最大的區(qū)別就在于時(shí)鐘SCK的來源不同。如果是工作在主機(jī)模式,那么SPI的時(shí)鐘將由該主機(jī)產(chǎn)生,反之,若工作于從機(jī)模式則不需要自己來產(chǎn)生這個(gè)時(shí)鐘了。 另外還需要理解的就是,SPI通信方式是以時(shí)鐘沿來決定送數(shù),其實(shí)這個(gè)時(shí)鐘并不是像uart中那樣有嚴(yán)格的限制,因此SCK的頻率是可以時(shí)快時(shí)慢的,只要把握住送數(shù)的時(shí)機(jī)就可以了。
|
|