/* Initiate start and send first character */
if (!I2C_masterSendMultiByteStartWithTimeout(EUSCI_B0_BASE,
pointer, timeout))
return 0;
if (!I2C_masterSendMultiByteFinishWithTimeout(EUSCI_B0_BASE,
writeByte, timeout))
return 0;
返回一支是0,代表写入数据失败,在boostxl_batpakmkII_fuelGauge_msp432p401r工程的IIC驱动里修改的,想请问下为什么呢?在调试MPU9250的IIC 驱动部分,谢谢
user4991584:
一直卡死在
if (!I2C_masterSendMultiByteFinishWithTimeout(EUSCI_B0_BASE, writeByte, timeout)) return 0; 这个函数,FINISH一直完成不了
函数里面
//Poll for transmit interrupt flag. while ((!BITBAND_PERI(EUSCI_B_CMSIS(moduleInstance)->IFG, EUSCI_B_IFG_TXIFG0_OFS)) && –timeout) ;
//Poll for transmit interrupt flag. while ((!BITBAND_PERI(EUSCI_B_CMSIS(moduleInstance)->IFG, EUSCI_B_IFG_TXIFG0_OFS)) && –timeout2) ;
要不是有timeout的话,程序会一直死在这里面,请问为什么啊?
gaoyang9992006:
回复 user4991584:
不知道是不是因为你要读写的芯片问题。不好乱讲,另外你这个到底最后读写成功了没
RoundRoad:
回复 user4991584:
你这问题我今天也遇到了,和你一模一样的问题。你最终解决了没有,如何解决的呢?