I2C通信,发一次后无法再次发送。代码贴上,多多找问题!

2019-03-24 08:50发布

SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C1);  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
GPIOPinConfigure(GPIO_PG0_I2C1SCL);
GPIOPinConfigure(GPIO_PG1_I2C1SDA);  
GPIOPinTypeI2C(GPIO_PORTG_BASE,  GPIO_PIN_1);
GPIOPinTypeI2CSCL(GPIO_PORTG_BASE, GPIO_PIN_0);
I2CMasterEnable(I2C1_BASE);
IntEnable(I2C_INT_MASTER);
I2CMasterIntEnable(I2C1_BASE);
IntMasterEnable();
I2CMasterInitExpClk(I2C1_BASE, 40000000, false);
I2CMasterSlaveAddrSet(I2C1_BASE, SLAVE_ADDRESS,false);
I2CMasterDataPut(I2C1_BASE, WRITE_ADDRESS);
I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_START);
while(I2CMasterBusy(I2C1_BASE));
for(i = 0;i < DataNum;i++ )
        {
                I2CMasterDataPut(I2C1_BASE, DataTx[i]);
                i == DataNum - 1 ?
                I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_FINISH):
                I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_SEND_CONT);
               
                while(I2CMasterBusy(I2C1_BASE));//到这里卡死
        }
        怎么回事啊??一直主机忙状态。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
夜黑风高夜
2019-03-24 15:03
以前遇到类似问题,检测一下硬件电路,去掉上拉电阻试试

一周热门 更多>

相关问题

    相关文章