tm4c123gh6pm的I2C通信问题

2019-03-23 22:21发布

最近做的一个小项目里需要使用GY30这款光照强度传感器,估计不少人都用过,I2C通信的。
不太想用店家例程给的用GPIO模拟的方式,想试试硬件I2C。
按照GY30数据手册的要求,第一步是发送从机地址和指令0x01来让传感器上电,这里我设置完I2CMasterSlaveAddrSet这个函数并确认无误之后,就按照连续发送的方式来设置I2CMasterControl这个函数,由于就是发送两个字节,于是第一个用了I2C_MASTER_CMD_BURST_SEND_START,第二个用了I2C1_BASE,I2C_MASTER_CMD_BURST_SEND_FINISH;每发送完一个字节之后,先用I2CMasterBusy来检测发送是否完成,之后再用I2CMasterErr函数来检测发送是否成功;
结果是:发送地址这个字节时没有问题,但是一旦发送0X01这个指令,I2CMasterErr就会报错,根据反馈回的错误类型,是数据应答错误,也就是没有产生ACK位。
请问有大佬遇到过这种问题吗?该如何解决呢?
另外再请问一下,I2CMasterSlaveAddrSet这个函数的设置是否已经包含了“向从机传递对应地址和读写方向”这样的操作呢?
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1条回答
ienglgge
2019-03-24 00:18
GPIO模拟的方式,都模拟了,自己写发送也可以啊。时序不太复杂。一帧数据应该不会很长。一帧弄好了。就可以根据传感器手册的说明,执行逻辑操作过程。

一周热门 更多>

相关问题

    相关文章