ch432 與stm32 通信數(shù)據(jù)接收問題

上電后讀 寄存器的值也不對(duì),讀函數(shù)如下,有什么問題嘛? u8 read_ch432data(u8 addr,u8 spi_scs) { u8 dat; addr<<=2; addr&=0xfd; start_spi(spi_scs); //選擇相應(yīng)片選 SPIx_ReadWriteByte(addr); dat=SPIx_ReadWriteByte(0xff); stop_scs(spi_scs); return dat; }

u8 SPIx_ReadWriteByte(u8 TxData) { u8 retry = 0; // while((SPI1->SR&(1<<1)) == 0) //等待發(fā)送區(qū)空 while(!(SPI1->SR & 0X0002)) { retry++; if(retry > 200) { return 0; } } SPI1->DR = TxData; //發(fā)送一個(gè)byte retry = 0; // while((SPI1->SR&1<<0) == 0) //等待接收完一個(gè)byte while(!(SPI1->SR & 0X0001)) { retry++; if(retry >200) { return 0; }

} return SPI1->DR; //返回接收到的數(shù)據(jù) }

返回的值如果和芯片手冊(cè)中的不一致的話,建議你查程序,這個(gè)一般就是程序的問題,另外,建議同樣的問題,不要分幾個(gè)帖子發(fā),這樣不利于問題的解決,最好還是在一個(gè)帖子里面解決。 程序中建議不要加超時(shí),至少是現(xiàn)在調(diào)試的時(shí)候不要加。


謝謝 知道了 ,知道原因了 ,我用stm32時(shí)電壓過大把gpio燒了 換了個(gè)口就好了 ,但我進(jìn)中斷后怎么一直在中斷里,跳變成高電平時(shí)也還是不出來的 。


可能你對(duì)STM32還不是很熟悉,程序的問題還是要自己慢慢查一下了。


EN .沒清楚 中斷標(biāo)志 位


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

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