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

[复制链接]
3304|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协议,那么通讯是会终止的
骑着蜗牛狂奔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

粉丝
快速回复 在线客服 返回列表 返回顶部