打印
[ZLG-ARM]

I2C的问题

[复制链接]
1633|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xcxxyc|  楼主 | 2007-4-28 16:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void I2c0Init(uint32 Fi2c)
{
    if (Fi2c > 400000)
        Fi2c = 400000;
    PINSEL0 = (PINSEL0 & (~0xF0)) | 0x50;     // 不影响其它管脚连接                
    I2C0SCLH = (Fpclk/Fi2c + 1) / 2;      // 设定I2C时钟                         
    I2C0SCLL = (Fpclk/Fi2c)/2;
    I2C0CONCLR = 0x2C;                        
        I2C0CONSET = 0x40;                        
                                                       
}

/******************************************************
*  采用类似串口的发送方式                             *                                                *
*                                                     *
*******************************************************/
void Command_Aic23(uint8 sla,uint8 subaddr, uint8 data)
{
     uint8 sub=0;;

   //  I2C0CONCLR =  1<<3; 
      I2C0CONSET =  (1<<5)|(1<<6);
  
     while(1)
    {   
    
         switch(I2C0STAT & 0xf8)
        {
           case 0x08:
               I2C0DAT = sla ;       // 0位为0
               I2C0CONCLR = 1<<3; 
               break;

          case 0x10:
               I2C0DAT = sla ;
               I2C0CONCLR = 1<<3; 
               break;
      
          case 0x18:
               I2C0DAT = subaddr;  
               I2C0CONCLR = 1<<3 ;
           break;
     
          case 0x28:
               if(sub==1)
               {
                  I2C0CONCLR =0x28;
                  return;
               }   
              I2C0DAT =  data;  
              I2C0CONCLR = 1<<3 ;
              sub=1;
          break;
     
        default :
             I2C0CONCLR =0x28;
             return;
                break;
       }    //SWITCH
  }  // WHILE(1) 

}
问题是每次执行完0X18分支之后就出错,望各位高手指点

相关帖子

沙发
zlgARM| | 2007-4-28 20:17 | 只看该作者

xcxxyc

I2C的驱动程序汗牛充栋,你可以去看一下人家怎么写的。参照标准,反省自己的程序。这样比较容易找到错误。

使用特权

评论回复
板凳
xcxxyc|  楼主 | 2007-4-29 08:49 | 只看该作者

ALGARM

你说的很对!!呵呵,其实并不指望谁能解答,只是来凑凑热闹而已。我的程序是有问题,可惜发表后不知道在哪进行修改。呵呵,谢谢你啊,一句话敲醒梦中人!!

使用特权

评论回复
地板
xcxxyc|  楼主 | 2007-4-29 09:13 | 只看该作者

我的问题解决了,谢谢ZLGARM

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

105

帖子

0

粉丝