|
做個(gè)雙MCU的串口通信,那么雙MCU的SPI通信也應(yīng)該類(lèi)似!
雖然它們是全雙工的通信方式,發(fā)送的同時(shí)接收,接收的同時(shí)發(fā)送,但是總有一個(gè)是主動(dòng)發(fā)起通信的一方!
主叫的一方叫主機(jī),主動(dòng)發(fā)出數(shù)據(jù)
被叫的一方叫從機(jī),被動(dòng)接收數(shù)據(jù)
主叫的一方發(fā)數(shù)據(jù)能簡(jiǎn)單一些!
被叫的一方接收數(shù)據(jù),是跟串口一樣,中斷接收?還是polling中斷標(biāo)志位接收數(shù)據(jù)?(spi速度很快,用中斷可能來(lái)不及。恩,IAP程序采用polling中斷標(biāo)志位的方式)
一幀數(shù)據(jù)的應(yīng)答?主機(jī)發(fā)出一塊數(shù)據(jù),從機(jī)如何給出應(yīng)答?
一幀數(shù)據(jù)的校驗(yàn)?主機(jī)發(fā)出一幀數(shù)據(jù),從機(jī)如何校驗(yàn),采用和校驗(yàn),采用CRC校驗(yàn)?
一幀數(shù)據(jù)校驗(yàn)有錯(cuò)誤?如何重發(fā)?
現(xiàn)在面臨的問(wèn)題是,從機(jī)如何把數(shù)據(jù)給主機(jī)?
測(cè)試設(shè)計(jì):
主機(jī)+按鍵+spi口
從機(jī)+spi口
按鍵按下,觸發(fā)主機(jī)發(fā)出一個(gè)字節(jié)spi,從機(jī)接收一個(gè)字節(jié)spi
按鍵按下,觸發(fā)主機(jī)發(fā)出一個(gè)spi數(shù)據(jù)幀,從機(jī)接收一個(gè)spi數(shù)據(jù)幀
從機(jī)校驗(yàn)數(shù)據(jù)
從機(jī)向主機(jī)返回?cái)?shù)據(jù)?
|
|