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条回答
夜黑风高夜
1楼-- · 2019-03-24 15:03
以前遇到类似问题,检测一下硬件电路,去掉上拉电阻试试
1301120345
2楼-- · 2019-03-24 19:18
 精彩回答 2  元偷偷看……
bobde163
3楼-- · 2019-03-24 19:22
M4没有搞过,不过楼主知道是在那个判断的死循环的地方出问题,那可以着重分析一下这个死循环为什么过不去的原因,应该能解决,帮顶一下了
ljwsichuan
4楼-- · 2019-03-25 00:46
请问你tm4c1294I2C的问题解决了吗,,我刚上手这块板子,也出现了这个问题
nt52241930
5楼-- · 2019-03-25 06:22
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章