门关键词: 电子电路图 合肥隐形耳机 pcb印制电路板 单片机外围电路图 hpc显示器电路图 220v电磁阀工作原理 bp4频敏变阻器
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
电子元器件搜索:
维库电子市场网是知名的电子元器件交易网站,为电子生产企业提供IC库存和技术资料查询服务。
关于s08qg8spi读93c46问题
新闻出处:21ic 发布时间: 2007-07-04
xuhuadong 发布于 2007-6-29 13:15:00
用qg8的内部spi模块读取spi接口的93c46eeprom时16位时,采用查询方式,发现输出波形正常,

但是接受寄存器会把93c46发出的第一个零位放入spid中,请教高手如何解释。

需要接受3个字节一位后才能是正确的数据。并且,无论在发送或接受spid一放数,就会置位SPIS_SPRF

unsigned char rebuff1,rebuff2,rebuff3;


b_cs=1;     //93c46使能
     
     yanshi();   //延时
      
     SPID=0X01;  //高7位补齐脉冲
     
     while(!SPIS_SPTEF);
     
     rebuff1=SPID; //清除标志
     
     SPID=0X80;    // 低六位为读取9346的地址
     
     while(!SPIS_SPTEF);      
     
     SPID=0X00;    //产生时钟
     
     while(!SPIS_SPTEF);
     
     rebuff1=SPID;   //
     
     while(!SPIS_SPRF) ;
     
     rebuff1=SPID;    
     
     
     SPID=0X00;     //产生时钟
     
     while(!SPIS_SPTEF);
     
     rebuff1=SPID;   //读取高字节,????最高位为0,实际为1
     
     
     while(!SPIS_SPRF) ;
     
     rebuff2=SPID;
     
        
     SPID=0X00;     //产生时钟
     
     while(!SPIS_SPTEF);
     
     rebuff2=SPID;   //读取低字节,????最高位为高字节零位,
     
     while(!SPIS_SPRF);
     
     rebuff3=SPID;
         
     
     SPID=0X00;      //产生时钟
     
    while(!SPIS_SPTEF);
    
     rebuff3=SPID;    // ????最高位为低字节零位
     
          
    SPIC1=0X00;
    
    
     yanshi();
     yanshi();
     yanshi();
     yanshi();
     yanshi();
     b_cs=0;
     yanshi();

}

void yanshi(void){
unsigned char i;

for(i=0;i<10;i++)__RESET_WATCHDOG();
}



FREETECH_S 发布于 2007-7-4 17:00:00
spi总线有四种工作方式,这个现象就是没有设对工作方式,93c46应该是设置成spi1方式


关闭】 【打印
 
相关专题
 
友情链接:
© 2007 电子元件网 网站地图