这是我师兄的程序
//I2C (接收)
interrupt void i2c_int1a_isr(void) // I2C-A
{
Uint16 IntSource;
// Read interrupt source
IntSource = I2caRegs.I2CISRC.bit.INTCODE & 0x07;
switch(IntSource)
{
case I2C_NO_ISRC: break; // =0
case I2C_ARB_ISRC: break; // =1
case I2C_NACK_ISRC:break; // =2
case I2C_ARDY_ISRC:break; // =3
case I2C_RX_ISRC: // =4
InData[I2cIndex++] = I2caRegs.I2CDRR;
break;
case I2C_TX_ISRC: break; // =5
case I2C_SCD_ISRC: break; // =6
case I2C_AAS_ISRC: break; // =7
default:
//asm(" ESTOP0"); // Halt on invalid number.
asm(" RPT #5 ||NOP ");
}
// Enable future I2C (PIE Group 8) interrupts
PieCtrlRegs.PIEACK.all |= PIEACK_GROUP8;
}
我想啊 I2C接受 就接受了 还要查找什么中断源么? 这到底有什么作用啊? 想了很久实在想不明白。
请高人指教。 |
|