gadfly 发表于 2008-1-8 10:56:53

关于SPI从机的一问

SPI设置为从机的时候,当SS拉高的时候,SPI会进行发送接收逻辑的复位,然后丢弃移位寄存器里面的不完整的数据,不知道这里不完整的数据是怎么理解?怎么才算是不完整?

machao 发表于 2008-1-8 23:44:36

SPI为串行接口,如果一个字节没串入(出)完,SS被拉高了,移位寄存器里面数据当然不完整了.

gadfly 发表于 2008-1-9 15:11:49

可是这么理解数据不完整,是人认识上的,机器怎么能知道他是不是完整呢,比如移入了三位 1 1 1 其他还没有移入,那么如果之前SPDR数据是0x00,那么此时是11100000即 0xE0,MCU怎么去辨识这个0xE0是不完整的?

machao 发表于 2008-1-9 20:41:12

SIP是面向字节的串行接口,每次必须是串出(入)一个字节,这就是完整的含义.

只要8个sck没有完成(AVR的硬件知道是否完成一个字节的操作的),SS抬高了,那么SPDR中的任何数据都算不完整的数据.

那怕就是你串入一个0x00,SPDR中原来也是0x00,但只要8个sck不够,数据就是不完整的.

gadfly 发表于 2008-1-9 23:40:01

哦,了解了 ,是受主机clock控制的,哈哈3q 马sir~
页: [1]
查看完整版本: 关于SPI从机的一问