interrupt void i2c_int1a_isr(void) {//I2CA的中断响应函数
Uint16 IntSource;// 读取中断码
IntSource=I2caRegs.I2CISRC.bit.INTCODE & 0x7;//I2CA中断源,读后3位
switch(IntSource){//依中断源而确定相关接收和发送策略
case I2C_NO_ISRC://=0
case I2C_ARB_ISRC://=1
case I2C_NACK_ISRC: //=2
case I2C_ARDY_ISRC: //=3
case I2C_SCD_ISRC://=6
case I2C_AAS_ISRC://=7
break;
case I2C_RX_ISRC://=4,接收数据已准备好
DataReceive();//调用数据接收子函数接收数据
break;
case I2C_TX_ISRC://=5,发送数据已准备好
DataTransmit();//调用数据发送子函数接收数据
break;
default:
asm("ESTOP0"); //无效数据,则停止
}
PieCtrlRegs.PIEACK.all=PIEACK_GROUP8;
}