这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » pcf 8591 为什么读不出数据(求解)

共3条 1/1 1 跳转至

pcf 8591 为什么读不出数据(求解)

助工
2011-12-19 14:43:32     打赏

以下是我写的代码,请支援!谢谢

void start()
 {
  SCL=1;
  delay();
  SDA=1;
  delay();
  SDA=0;
  delay();   
  
  }
  
void stop()
 {
  SCL=1;
  delay();
  SDA=0;
  delay();
  SDA=1;
  delay();   
  
  }  



void sack()
 { 
  SCL=1;
  delay();
  flog=0;
  if(SDA==0)
  {
  flog=1 ;
  }
  delay();
  SCL=0;   
  }  
 
void noack()
 { 
   
  SCL=1;
  delay();
  SDA=1; 
  delay();  
  
  }  
 
void writr(unchar com)
{
 unchar kk;
 kk=com;
 for(x=0;x<8;x++)
 {
  SCL=0;
  delay();
  kk=kk<<1;
  SDA=CY;
  delay();  
  SCL=1;
  delay();
 }
 SDA=1;
 delay();
 SCL=0;
 delay();
 

unchar read_8951()
{
 unchar date;
 for(x=0;x<8;x++)
 {
  SCL=1;
  delay();
  date=SDA&0x80;
  date=date<<1;
  delay();  
  SCL=0;
  delay();
 }
 return(date);
}

void init_8951()//这里有错误吗?
{
 start();
 writr(0x90);
 sack();
 writr(0x42);
 sack();
 delay1(1);
 start();
 writr(0x91);
 sack();
 dd=read_8951();
 
 stop();
 
 }




关键词: 为什么     不出     数据     求解     delay    

高工
2011-12-19 15:36:21     打赏
2楼
挂个示波器看看驱动波形对不对吧

高工
2011-12-19 15:55:14     打赏
3楼
如果时序全对,那么delay()可以考虑调整一下(比如,再延长一点看看)

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]