百度百科上的spi是这样说的。
(1)SDO – 主设备数据输出,从设备数据输入;
(2)SDI – 主设备数据输入,从设备数据输出;
(3)SCLK – 时钟信号,由主设备产生;
(4)CS – 从设备使能信号,由主设备控制。
但我看C51模拟spi口时,全是sdi输出的啊?
/*********************************************
模拟SPI接口I/O定义
*********************************************/
sbit spi_do=P1^2;
sbit spi_di=P1^3;
sbit spi_clk=P1^1;
sbit spi_cs=P1^0;
/*********************************************
向SPI器件写入一个字节数据
*********************************************/
void spi_write(unsigned char spi_dat)
{
unsigned char i;
for (i=0;i<8;i++)
{
spi_clk=0;
if((spi_dat & 0x80)==0x80)
spi_di=1;
else
spi_di=0;
spi_clk=1;
spi_dat=(spi_dat<<1);
}
}
而且也有人说过
SDI是MOSI,指主器件数据输出,从器件数据输入。
SDO是MISO,指主器件数据输入,从器件数据输出。
所以百度百科上的spi是不是说错了?
|