打印
[AT32F413]

I2C发送地址报ACKFAIL后无法继续发送数据

[复制链接]
3032|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ponyhan|  楼主 | 2021-8-17 16:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
I2c, ck, AI, AC, IO
测试I2C,只上拉IO,未接从设备。发送地址后,STS1的ACTFAIL置为,清除后也无法继续发送数据。

使用特权

评论回复
沙发
骑着蜗牛狂奔O| | 2021-8-20 09:11 | 只看该作者
你这个是从设备没有应答,从设备都没接,怎么发数据

使用特权

评论回复
板凳
ponyhan|  楼主 | 2021-8-20 14:02 | 只看该作者
骑着蜗牛狂奔O 发表于 2021-8-20 09:11
你这个是从设备没有应答,从设备都没接,怎么发数据

有些从设备默认就是不应答的,AT32不管是否应答,都必须读STS1和STS2,清除ADDRF。不应答的要再使能一次START。本来想等厂家的标准回复,你这么回答都没用过AT32吧

使用特权

评论回复
地板
骑着蜗牛狂奔O| | 2021-8-21 21:43 | 只看该作者
ponyhan 发表于 2021-8-20 14:02
有些从设备默认就是不应答的,AT32不管是否应答,都必须读STS1和STS2,清除ADDRF。不应答的要再使能一次S ...

ACKFAIL,就是从设备没有ACK,主机未收到从机的ACK信号,按着I2C协议,那么通讯是会终止的

使用特权

评论回复
5
骑着蜗牛狂奔O| | 2021-8-21 21:48 | 只看该作者
ponyhan 发表于 2021-8-20 14:02
有些从设备默认就是不应答的,AT32不管是否应答,都必须读STS1和STS2,清除ADDRF。不应答的要再使能一次S ...

你可以试下,用两块AT START板子,PB6 PB7连接在一起,并连接上拉电阻,用官方的BSP,肯定是能正常通讯的,我试过

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝