1. 程式人生 > >使用spi協議,接收來自slave的資料之前寫0xff的原因

使用spi協議,接收來自slave的資料之前寫0xff的原因

原來是spi IP核在接收的時候也把移位暫存器中的資料通過mosi傳送出去了,從slave看,它通過miso傳送資料給master的同時也接收來自master mosi上的資料。因為spi協議是沒有反饋訊號的,所以slave在傳送資料的同時接收到的資料如果是slave能夠識別的一個命令值的話那麼這時就會對slave產生影響了。這時slave就會按照新的命令執行,然而這個命令是master在接收slave資料時不經意傳送出去的,它本身是不打算髮送出去的。為了解決master在接收資料的同時誤發命令,所以在接收資料之前先寫0xff進入移位暫存器。這樣master在接收來自slave的資料的同時傳送0xff
slaveslave不識別0xff這個命令自然就不會影響它本身的運行了。