[STM8] STM8 IIC时钟救急

[复制链接]
6154|11
 楼主| zouhaolin 发表于 2009-12-29 11:06 | 显示全部楼层 |阅读模式
我用的STM8S207  IIC挂 M41T0M6时钟芯片,

在有干扰的情况下,IIC会读不了,,死掉了,却无法恢复,用的是STM8官方库

请问各位大侠,有什么高招可以解决.^^

急!!!!
zhaoxinzxzx 发表于 2009-12-29 11:26 | 显示全部楼层
加入超时等待,超时后根据错误的状态作处理
 楼主| zouhaolin 发表于 2009-12-29 15:57 | 显示全部楼层
谢谢老兄,试试看, 可是我直接初始化I2C接口怎么不行呢
 楼主| zouhaolin 发表于 2009-12-29 16:02 | 显示全部楼层
问题还没有解决问题,,好像不行啊
 楼主| zouhaolin 发表于 2009-12-29 16:03 | 显示全部楼层
if(I2C_GetITStatus(I2C_ITPENDINGBIT_ACKNOWLEDGEFAILURE) == SET)  //应答错误
        {
       
                I2C_ClearITPendingBit(I2C_ITPENDINGBIT_ACKNOWLEDGEFAILURE);
                I2C_GenerateSTOP(ENABLE);
        }
       
        if(I2C_GetITStatus(I2C_ITPENDINGBIT_ARBITRATIONLOSS) == SET)  //仲裁失败
        I2C_ClearITPendingBit(I2C_ITPENDINGBIT_ARBITRATIONLOSS);
       
        if(I2C_GetITStatus(I2C_ITPENDINGBIT_BUSERROR) == SET)  //总线错误
        {
                I2C_ClearITPendingBit(I2C_ITPENDINGBIT_BUSERROR);
                I2C_GenerateSTOP(ENABLE);
        }

这样处理超时

评分

参与人数 1威望 +1 收起 理由
会会 + 1 很给力!

查看全部评分

 楼主| zouhaolin 发表于 2009-12-29 18:05 | 显示全部楼层
时至现在,问题只解决了一半,,有时候能成功恢复,有时候就死翘翘了
司徒老鹰 发表于 2009-12-30 00:16 | 显示全部楼层
有时好有时不好?奇怪了
tantao820629 发表于 2010-2-22 19:52 | 显示全部楼层
期待中!!
有意思 发表于 2010-3-5 23:25 | 显示全部楼层
我用IIC连接RSC5372时钟芯片工作很正常,也是库函数,应用层见附件

rtc.rar

4.09 KB, 下载次数: 177

LSLDAY 发表于 2017-5-8 09:37 | 显示全部楼层
楼主  你还没有   M41T0M6 的驱动程序吗
LSLDAY 发表于 2017-5-8 09:37 | 显示全部楼层

楼主  你还有   M41T0M6 的驱动程序吗 我调了好几天了
tranhunga 发表于 2017-5-10 16:16 | 显示全部楼层
加入超时等待,超时后根据错误的状态作处理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

12

帖子

1

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