本帖最后由 jiaotao1983 于 2010-4-26 13:52 编辑
哦!谢谢斑竹。
我现在有些想通了。
我看版主说,SPI的读和写是同时进行的,在SPI的主端进行数据读取的时候,发出地址后,会进行虚写,一方面提供时钟,另一方面,随着虚写的字节发了过去,要读的字节也就传了过来。
那么我想再问一下,由于读和写同时进行,那么主端向从端写数据的时候,虽然不再需要向从端提供时钟,那么是不是也会收到从端传递过来的dummy数据?也就是进行虚读??
之所以这么问,是因为我看SPI驱动程序,SPI主端写数据的时候,判断数据是不是发送完毕,是看寄存器SPRF位是否置一,而SPRF是主端的数据buffer收到数据后才置一的。而且,每次数据发送完毕,主端都要清空自己的SPI1D的。如果是仅仅发送数据,数据移出buffer后,SPI1D应该就已经空了。所以我猜测主端向从端写数据的时候,也会收到从端发送过来的数据吧?
版主,我的猜测对吗? |