TI中文支持网
TI专业的中文技术问题搜集分享网站

请教下msp430g2412的USI模块 的中断中各个状态位具体是做什么的?

想用硬件IIC和PCF86563T通讯,看了下官方的iic例程,结果看不懂中断程序,不明白case0,2,4,6,8,10都代表什么,求科普。

Xiaowei Bai1:

char SLV_data = 0x00;                  // Variable for received data char SLV_Addr = 0x91;                  // Address is 0x48 << 1 bit + 1 for Read int I2C_State = 0;                     // State variable

int main(void) {   volatile unsigned int i;             // Use volatile to prevent removal

  WDTCTL = WDTPW + WDTHOLD;            // Stop watchdog   if (CALBC1_1MHZ==0xFF)      // If calibration constants erased   {                while(1);                          // do not load, trap CPU!!    }   DCOCTL = 0;                               // Select lowest DCOx and MODx settings   BCSCTL1 = CALBC1_1MHZ;               // Set DCO   DCOCTL = CALDCO_1MHZ;

  P1OUT = 0xC0;                        // P1.6 & P1.7 Pullups   P1REN |= 0xC0;                       // P1.6 & P1.7 Pu

请看例程, 其中的CASE 是笔者自己定义的一个变量而已,请看程序后面的注释。

Xiaowei Bai1:

回复 Xiaowei Bai1:

上面代码没有帖全,请看

http://www.ti.com/litv/zip/slac467b

其实case的值是笔者自己定义的一个变量而已,来确定I2C发送的数据类型和参数配置的,详细请阅读程序后面的注释。

Shi JianHua:

你是要解决pcf8563的问题还是解决 msp430g2412的USI模块 的中断的问题。要是pcf8563的iic问题,就直接调试iic就行了,msp430的iic一般都是模拟的iic。网上很多pcf8563的驱动。百度文库查一下,会找到。

赞(0)
未经允许不得转载:TI中文支持网 » 请教下msp430g2412的USI模块 的中断中各个状态位具体是做什么的?
分享到: 更多 (0)