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

MSP432 IIC 8位数据写入和读出一支卡死在一个地方,用的API函数

    /* 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:

你这问题我今天也遇到了,和你一模一样的问题。你最终解决了没有,如何解决的呢?

赞(0)
未经允许不得转载:TI中文支持网 » MSP432 IIC 8位数据写入和读出一支卡死在一个地方,用的API函数
分享到: 更多 (0)