⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iic.h

📁 基于msp430的一个系统运用系统函数kernel
💻 H
字号:
#define IIC_add1 0x48 //the first iic device address
#define IIC_add2 0x49  //the second iic device address
uchar bytectr=0;
uchar flag=0;
long wendu;
long shishu,shishu_inner,shishu_outer;
int IIC_test(uchar dev); 
/*
dev: 0:the outer sense
     1:the inner sense
return wendu
*/
int IIC_test(uchar dev)
{
  uchar IIC_add;
  if(dev==0)
  {
    IIC_add=IIC_add1;
  }
  else
  {
    IIC_add=IIC_add2;
  }
  P3SEL|=0X06;
  //ta=IIC_add1<<1+1;
  UCB0CTL1|=UCSWRST; //INIT ALL REGESIT AND PORT 
  UCB0CTL0=UCMODE1+UCMODE0+UCSYNC+UCMST;//USCI MODE SELECT,IIC MODE
 // UCB0CTL0&=~
  UCB0CTL0&=~UCSLA10;//SLAVE ADDRESS WITH 7BIT 
  UCB0CTL1=UCSSEL_2+UCSWRST;
  UCB0BR0=11;
  UCB0BR1=0;
  UCB0I2CSA=IIC_add;     
  UCB0CTL1 &=~UCSWRST; //SOFTWARE RESET,RELEASE
  UCB0I2CIE|=UCNACKIE;
  IE2|=UCB0RXIE;
  _EINT(); //open all interrupt
  UCB0CTL1&=~UCTR;
  UCB0CTL1|=UCTXSTT;//START
  return shishu;
}
/*
the function of the interrupt
*/
#pragma vector=USCIAB0TX_VECTOR
__interrupt void USCIAB0RX_ISR()
{
    //while((IFG2&UCB0RXIFG));
    if(bytectr==1)
    {
      UCB0CTL1|=UCTXSTP;
      wendu|=UCB0RXBUF>>4;
      UCB0CTL1|=UCTXSTP;
      shishu=wendu*100/1600;
    }
    else
    {
      wendu=UCB0RXBUF<<4;
      bytectr++;
    }
  
}

void iic_run()
{
  IIC_test(1);
  shishu_inner=shishu;
  IIC_test(0);
  shishu_outer=shishi;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -