智能车制作

标题: xs128模拟IIC驱动L3G4200D 出问题 [打印本页]

作者: 大止    时间: 2015-3-31 23:03
标题: xs128模拟IIC驱动L3G4200D 出问题
首先说说接线 SD0接5V(地址为0xD3) CS接5V(IIC使能) SDA接PA0 SCL接PA1 ;
这样接线有问题吗 还有没有什么引脚要接线呢? 如果没错的话 接下来看看程序
首先我是想先测试下我程序有没写对的 所以我只写了 起始函数 读应答函数 结束函数 和写函数,出现的问题是写完之后无法应答,一直卡在循环里面
开始函数:
  1. void IIC_START()
  2. {
  3.     SCL=1;
  4.     SDA=1;
  5.     delay_us(5);
  6.     SDA=0;  
  7.     SCL=0;

  8. }
复制代码
结束函数
  1. void IIC_STOP()
  2. {
  3.     SCL=1;
  4.     SDA=0;
  5.     delay_us(30);
  6.     SDA=1;
  7.   
  8. }
复制代码
写函数
  1. void IIC_WRITE(uchar dat)
  2. {
  3.    
  4.      uchar i;
  5.     for(i=0;i<=7;i++)
  6.     {
  7.   
  8.       if(dat&0x80)
  9.       {
  10.         SDA=1;  
  11.       }
  12.       else
  13.       {
  14.         SDA=0;  
  15.       }
  16.       SCL=1;
  17.       delay_us(10);
  18.       SCL=0;  
  19.       dat=dat<<1;
  20.     }   
  21. }
复制代码
读应答:
  1. void IIC_RASK() //发完数据 读应答
  2. {
  3.   
  4.     DDRA_DDRA0=0;    //读
  5.     SCL=1;
  6.     delay_us(10);
  7.     while(SDA)    ;
  8.    
  9.     delay_us(5);
  10.     SCL=0;       //第9个下降沿 应答结束
  11.     DDRA_DDRA0=1;
  12.     delay_us(5);
  13. }
复制代码
请教下大家 到底是什么问题呢 ?都调了一天了
作者: 大止    时间: 2015-3-31 23:04
求助求助!!!!!11
作者: 大止    时间: 2015-3-31 23:04
对了 漏了个IO口初始化·
  1. void INIT_IO()
  2. {
  3.   DDRA=0X03;  
  4.   PUCR_PUPAE=1;
  5. }
复制代码

作者: 大止    时间: 2015-3-31 23:29
我尼玛 原来是电源出问题了 what the fuck
作者: hujianhao    时间: 2015-4-7 16:42
电源什么问题?
作者: □□□    时间: 2015-4-7 16:59
hujianhao 发表于 2015-4-7 16:42
电源什么问题?

同问:)

作者: hujianhao    时间: 2015-4-7 18:08
我的程序差不多一样,但是没有什么反应~~
作者: gzf    时间: 2015-4-7 19:28
大止 发表于 2015-3-31 23:04
对了 漏了个IO口初始化·

楼主解决了没有?怎么解决的?




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2