[求助] STm32IIC通讯无响应

hanhan1127   2012-5-31 13:07 楼主
  主机是硬件IIC向STM32发送data,但是STM32并没有回复响应位,主机通讯速率选择400K或者200K ,现象都是一样的。同样主机也读不到STM32发送的数据(数据均为0xFF),但是主机用IO模拟的话,可实现正常的通讯,通讯时间选择100K、200K速率。这是为什么呢?

回复评论 (3)

你程序没做好,再检查检查
点赞  2012-6-1 08:57
我遇到过一个和楼主差不多的问题
使用USART3的时候(没有映射PB10  PB11) 数据接收完全正常 但是数据无法发送
原因:因为图方便 开时钟时用的是ALL 后来关闭I2C2的时钟 收发数据就完全OK。楼主可以看看是不是我这个原因造成的
点赞  2012-6-1 15:52

回复 板凳 42960701 的帖子

我怀疑ARM的从在接收数据的时候会误判,进入stop。如果跑200K的速度,在主模拟那边,发数据的时候,先发SDA,然后抢占CLK,这个时候,ARM的从是没给出响应位的,如果先抢占CLK,然后发送SDA的话,ARM才能响应。如果用ARM做主从通讯,400K速度,ARM从这边也会给不出响应的,因为速度很快,SDA和SCL可能是同时给出的。所以如果带IIC的MCU硬件要和ARM通讯的话,就有可能出现这个问题。
点赞  2012-6-5 17:17
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复