CH32V305FBP6做SPI從機時發(fā)送數(shù)據(jù)最后1bit數(shù)據(jù)異常

f949b37bf17c8bf8c5967c9ad91c81d.png

SPI模式為mode0,8bit傳輸,最后一位數(shù)據(jù)總在clock上升沿就發(fā)生跳變了,不是應(yīng)該在最后一個clock的下降沿才跳變嗎?請問這個問題該怎么解決

因為是mode0,即SPI是在clock上升沿傳輸數(shù)據(jù)的,但是在傳輸最后一個字節(jié)的時候上升沿剛來MISO就已經(jīng)發(fā)生跳變了,導(dǎo)致master那邊采集到的最后1bit數(shù)據(jù)是跳變后的數(shù)據(jù)。
還有一個問題就是slave發(fā)送數(shù)據(jù)應(yīng)該是在MISO引腳上,但是MOSI上也有數(shù)據(jù),還望版主解答啊,快被這個SPI逼瘋了。


你好,關(guān)于第一個問題時鐘沿跳變的問題,這是因為SPI作為從機時,為了更快速的將最后一個bit發(fā)送完,只保持了半個APB總線的周期的時間。

第二個原因是,主機不發(fā)送(MOSI不發(fā)送)數(shù)據(jù),SCLK就沒有時鐘,那么從機也就發(fā)不出去數(shù)據(jù)了,SPI全雙工通信就是這樣規(guī)定的。具體還有問題可以郵箱聯(lián)系我zdg@wch.cn


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

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