打印

ISD4004的SPI时序

[复制链接]
1801|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
风溪香士|  楼主 | 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

粉丝