CH573 如何使用雙線SPI作為從機(jī)進(jìn)行接收數(shù)據(jù)?

是這樣的,通過(guò)我的一些分析,SPI作為 從機(jī)只接收是,把?SPI0_SlaveInit();里面的miso使能替換為MOSI使能,但是在通過(guò)中斷每次只接收1個(gè)字節(jié)的情況下,我接收到的數(shù)據(jù)出錯(cuò)了,我可以肯定主機(jī)上的設(shè)置是沒有問(wèn)題,因?yàn)槲以诹硗庖粋€(gè)平臺(tái)上實(shí)現(xiàn)了雙線接收SPI數(shù)據(jù),且沒有錯(cuò)誤這個(gè)過(guò)程,下面是我的代碼,希望可以得到指點(diǎn),我初始化哪里出現(xiàn)了問(wèn)題?

(另外,我主機(jī)SPI上的時(shí)鐘空閑狀態(tài)是高電平,上升沿采樣)


void SPI_INIT(void)

{

? ? ? //? PRINT("1.spi0 mul slave mode \n");

? ? ? ? GPIOA_ModeCfg(? GPIO_Pin_13 | GPIO_Pin_14 , GPIO_ModeIN_PU);? //PA13 SCK? ?PA15 MISO


? ? ? ? SPI0_SlaveInit();

? ? ? ? SPI0_ITCfg(ENABLE,SPI0_IT_BYTE_END);// 開啟中斷

? ? ? ? PFIC_EnableIRQ(SPI0_IRQn);



}


void SPI0_SlaveInit(void)

{

? ? R8_SPI0_CTRL_MOD = RB_SPI_ALL_CLEAR;

? ? R8_SPI0_CTRL_MOD = RB_SPI_MOSI_OE | RB_SPI_MODE_SLAVE;

? ? R8_SPI0_CTRL_MOD &= ~RB_SPI_MST_SCK_MOD;//空閑狀態(tài)高電平

? ? R8_SPI0_CTRL_CFG |= RB_SPI_AUTO_IF;

}



__attribute__((interrupt("WCH-Interrupt-fast")))

__attribute__((section(".highcode")))

void SPI0_IRQHandler(void)

{


? ? if(SPI0_GetITFlag(SPI0_IT_BYTE_END))

? ? ? ? {


? ? ? ? ? ? SPI_Rx_Buffer[RxIdx] = SPI0_SlaveRecvByte();

? ? ? ? ? ? SPI_line_START_END();

? ? ? ? ? ? RxIdx++;


? ? ? ? ? ? SPI0_ClearITFlag(SPI0_IT_BYTE_END); // 清除中斷標(biāo)志

? ? ? ? }



}


有人回答一下嗎?


我前面又看到點(diǎn)東西,我是想用雙線只接收,而且是作為從機(jī),我看到了這個(gè)寄存器,RB_SPI_2WIRE_MOD? ?但是他是設(shè)置MISO,也就是雙線發(fā)送,我試了,完全接收不了數(shù)據(jù),有沒有官方回答一下,這個(gè)CH573可不可以雙線單向只接收?。。。?!


各位老哥,能不能回句話 ,從機(jī)狀態(tài)下SPI能否雙線只接收?


我現(xiàn)在來(lái)寫一下吧,剛剛打電話技術(shù)支持了,使用SPI單片機(jī)作為從機(jī)一方,只能發(fā)送,沒法接收!


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频