ISD4004的SPI时序

[复制链接]
 楼主| 风溪香士 发表于 2013-5-12 23:50 | 显示全部楼层 |阅读模式
今天第一次调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能工作(当然还改了包含地址的指令的传输顺序)。
希望各位指点一下。


 楼主| 风溪香士 发表于 2013-5-15 15:30 来自手机 | 显示全部楼层
别沉了啊,大家指点一下啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我命由我不由天!

13

主题

82

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:我命由我不由天!

13

主题

82

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部