ISD4004的SPI时序
2013年05月12日 23:46 发布者:风溪香士
今天第一次调ISD4004,资料上说它用SPI总线驱动,我用STC89C52模拟SPI时序。但是SPI应该是先传输高位的,而用ISD的SPI时,先传输高位不能驱动,只有先传输低位才能驱动。想问下这是怎么回事。模拟SPI程序如下:
unsigned char SPI_rw_byte(unsigned char dat)
{
unsigned char i;
sclk=0;
for(i=0;i<8;i++)
{
// dat=dat<<1;
dat=dat>>1;
mosi=CY;
sclk=1;
sclk=0;
// dat=dat|miso;
}
return dat;
}
之所以有返回值,是因为之前写这个时是同时读写的,现在不用读数据,无视掉就好了。
现在就是用 dat=dat<<1; ISD4004不能工作,而用 dat=dat>>1; ISD能工作(当然还改了包含地址的指令的传输顺序)。
希望各位指点一下。
网友评论
asean 2013年05月28日
ISD4004的Datasheet里的SPI时序如附件,Datasheet里描述的MOSI的时序就是从低位开始的。
ISD4004的Datasheet里的SPI时序如附件,Datasheet里描述的MOSI的时序就是从低位开始的。
zhangtaofeng 2013年05月29日
我来支持一下,我也是初学者,等待高手早点出现咯
我来支持一下,我也是初学者,等待高手早点出现咯
别沉了啊,大家指点一下啊。