Part Number: MSP430F5529
Other Parts Discussed in Thread: LMP91002
#pragma vector=USCI_B0_VECTOR
__interrupt void USCI_B0_ISR(void)
{
switch(__even_in_range(UCB0IV,12))
{
case 0: break; // Vector 0: No interrupts
case 2: break; // Vector 2: ALIFG
case 4: break; // Vector 4: NACKIFG
case 6: break; // Vector 6: STTIFG
case 8: break; // Vector 8: STPIFG
case 10: // Vector 12: TXIFG
I2CBuffer = UCB0RXBUF; // store received data in buffer
__bic_SR_register_on_exit(LPM0_bits); // Exit LPM0
break; // Vector 10: RXIFG
case 12:
if (PtrTransmit >= 0) // Check Transmit pointer
{
UCB0TXBUF = I2CBufferArray[PtrTransmit]; // Load TX buffer
PtrTransmit--; // Decrement TX byte counter
}
else
{
UCB0IFG &= ~UCTXIFG; // Clear USCI_B0 TX int flag
__bic_SR_register_on_exit(LPM0_bits); // Exit LPM0
}
break;
default: break;
}
}总是会卡在TI_MSP430_i2c_USCIB0_5xx.c文件中的case10 里是怎么回事呢
I2C中已经加了上拉电阻,使用的官方的LMP91002的驱动库,不知是什么问题呢
我的源代码工程已经添加在附件,希望能得到工程师的解答!