IIC通讯总在while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));里面

2019-07-14 13:37发布

IIC通讯,总是是在        while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));里面,不知道为什么,感觉上是没等到响应,我想问一下,STM32用库函数写IIC通信,等待ACK,用写中断服务函数吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
YY599566
1楼-- · 2019-07-15 16:22
TOPCB 发表于 2019-3-18 19:20
楼主写的从设备地址是多少?8563应该是0xA2。

嗯嗯是的,:
#define PCF8563_ADDR_W               0xA2
#define PCF8563_ADDR_R               0xA3
YY599566
2楼-- · 2019-07-15 20:09
TOPCB 发表于 2019-3-18 19:20
楼主写的从设备地址是多少?8563应该是0xA2。

我想问一下,是不是得写一个用于I2C接收应答的中断服务函数呢?因为我是参照书上的例程写的,没有看到中断服务函数,网上的例子也很少。
TOPCB
3楼-- · 2019-07-15 21:11
 精彩回答 2  元偷偷看……
YY599566
4楼-- · 2019-07-15 22:59
TOPCB 发表于 2019-3-18 19:47
我用中断都是在前面通讯完成后,读取数据或者发送数据的时候用。最好用示波器看一下是设备是否应答。

好的,谢谢。
YY599566
5楼-- · 2019-07-16 05:38
vyewrewr 发表于 2019-3-18 20:02
可以先用IO模拟IIC试一下,确定一下硬件没有问题。
STM32下IO口模拟IIC通讯的代码:

好的,非常感谢您
YY599566
6楼-- · 2019-07-16 06:55
该贴的问题还没有解决,我最近有其他事要忙,如果问题解决了,我会再发贴说明的,谢谢大家,以后有问题再请教大家,非常感谢。

一周热门 更多>