查看: 9184|回复: 3

[提问] ISD4004的SPI时序

[复制链接]
发表于 2013-5-12 23:46:49 | 显示全部楼层 |阅读模式
关键词: ISD4004 , SPI
今天第一次调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:02 | 显示全部楼层
别沉了啊,大家指点一下啊。
发表于 2013-5-28 07:08:06 | 显示全部楼层
ISD4004的Datasheet里的SPI时序如附件,Datasheet里描述的MOSI的时序就是从低位开始的。
1.bmp
发表于 2013-5-29 16:00:42 | 显示全部楼层
我来支持一下,我也是初学者,等待高手早点出现咯
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表