打印
[STM8]

求大神讨论!!STM8 硬件IIC通信时主机死机问题!!

[复制链接]
5413|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sf116|  楼主 | 2013-2-22 11:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近使用硬件IIC通信,主机经常死在
while(I2C_SR3 & 0x02);             //等待总线空闲
此时用示波器测量DATA和CLK引脚,居然都是高电平,太诡异了。
哪位大神能给个解释?
沙发
cczhw| | 2013-2-22 12:11 | 只看该作者
这种循环都应加超时。

使用特权

评论回复
板凳
sf116|  楼主 | 2013-2-22 15:01 | 只看该作者
while(I2C_SR3 & 0x02)
    {
        i++;
        if(i > 50)
        {
            I2C_GenerateSTOP(ENABLE);
            break;
        }
    }

现在加了超时,连接还是建立不起来。串口打印出IIC_SR3寄存器值为0x02;……………………

使用特权

评论回复
地板
sf116|  楼主 | 2013-2-22 15:02 | 只看该作者
cczhw 发表于 2013-2-22 12:11
这种循环都应加超时。

while(I2C_SR3 & 0x02)
    {
        i++;
        if(i > 50)
        {
            I2C_GenerateSTOP(ENABLE);
            break;
        }
    }

现在加了超时,连接还是建立不起来。串口打印出IIC_SR3寄存器值为0x02;……………………

使用特权

评论回复
5
soso10155| | 2013-3-15 22:22 | 只看该作者
楼主解决了么?

使用特权

评论回复
6
iCreate| | 2013-3-16 14:53 | 只看该作者
soso10155 发表于 2013-3-15 22:22
楼主解决了么?

可以参考风驰的例程

使用特权

评论回复
7
sf116|  楼主 | 2013-3-19 18:26 | 只看该作者
soso10155 发表于 2013-3-15 22:22
楼主解决了么?

加看门狗,等它死了就复位,目前只能这样了

使用特权

评论回复
8
soso10155| | 2013-3-19 19:43 | 只看该作者
sf116 发表于 2013-3-19 18:26
加看门狗,等它死了就复位,目前只能这样了

这样就可以通信了么?

使用特权

评论回复
9
panlixin| | 2013-5-20 22:39 | 只看该作者
BitStatus IIC_BUSY(void)
{
        BitStatus bit_status;

       bit_status=(I2C->SR3&0X02)>>1;
         if(bit_status==1)                                    //忙
          {
             iic_bucy_count++;
        if(iic_bucy_count>5)                    //计算忙的次数
           I2C->CR2|=0X80;                                //软件复位
        if(iic_bucy_count>100)                    //计算忙的次数
          {
             I2C->CR1&=~0X01;                     // PE  off i2C
                   iic_bucy_count=0;
          }
        return 1;


这样可以解决一直处于总线已经为高电平   ,还为忙的情况  ;

在这里有个问题:我发现用镊子触碰数据线 会引起 读寄存器忙标志为空闲,测总线上都为高电平。但就是发不出来起始位 (起始位寄存器SB=0);试过通过软件复位 和关IIC都未能解决,,这时用镊子触碰时钟又可以正常通信了。     懂的答一下。谢谢

使用特权

评论回复
10
HORSE7812| | 2013-5-20 23:24 | 只看该作者
不会是受干扰了吧

使用特权

评论回复
11
sf116|  楼主 | 2013-7-4 17:00 | 只看该作者
soso10155 发表于 2013-3-19 19:43
这样就可以通信了么?

使用特权

评论回复
12
zeluo| | 2013-7-4 18:51 | 只看该作者
问题解决了就好    楼主    顶一个   不错  

使用特权

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

本版积分规则

个人签名:承接电子产品开发

8

主题

121

帖子

4

粉丝