OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5894|回复: 7

IIC停止信号问题,按协议写的,为啥子不能用?

[复制链接]

0

主题

3

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2020-10-9
在线时间
6 小时
发表于 2021-4-16 21:43:50 | 显示全部楼层 |阅读模式
本帖最后由 cypcyp 于 2021-4-16 21:46 编辑

停止信号:当SCL为高期间,SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不是一个电平信号。下面IIC的停止信号为什么错了?注释里的原子哥的源代码就可以用,其他部分都没问题了,就这个。void IIC_End(void)
{
        
          SDA_OUT();
          IIC_SCL=1;
          IIC_SDA=0;
          delay_us(4);
          IIC_SDA=1;
          delay_us(4);
          IIC_SCL=0;
        /*
        SDA_OUT();//
        IIC_SCL=0;
        IIC_SDA=0;//STOP:when CLK is high DATA change form low to high
         delay_us(4);
        IIC_SCL=1;
        IIC_SDA=1;//
        delay_us(4);        
         */
}        


1477786-20190522185103134-1401961545.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

36

帖子

0

精华

高级会员

Rank: 4

积分
688
金钱
688
注册时间
2018-9-6
在线时间
249 小时
发表于 2021-4-17 14:32:05 | 显示全部楼层
void I2C_Stop(void)
{
        SCL=1;
        DELAY_US();
        SDA=0;
        DELAY_US();
        SDA=1;
        DELAY_US();
}
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2020-10-9
在线时间
6 小时
 楼主| 发表于 2021-4-17 15:46:48 | 显示全部楼层
yun1003 发表于 2021-4-17 14:32
void I2C_Stop(void)
{
        SCL=1;

我的为啥子不行?
回复 支持 反对

使用道具 举报

79

主题

396

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1790
金钱
1790
注册时间
2015-9-21
在线时间
552 小时
发表于 2021-4-18 09:51:50 | 显示全部楼层
瞻前顾后,我觉得有必要这样做。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2020-10-9
在线时间
6 小时
 楼主| 发表于 2021-4-18 15:39:17 | 显示全部楼层
硕果累累 发表于 2021-4-18 09:51
瞻前顾后,我觉得有必要这样做。

???
回复 支持 反对

使用道具 举报

79

主题

396

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1790
金钱
1790
注册时间
2015-9-21
在线时间
552 小时
发表于 2021-4-18 16:50:03 | 显示全部楼层

就是说,不仅需要考虑该有的状态,还要考虑到时许在过渡时的状态
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2020-10-9
在线时间
6 小时
 楼主| 发表于 2021-4-18 17:18:17 | 显示全部楼层
硕果累累 发表于 2021-4-18 16:50
就是说,不仅需要考虑该有的状态,还要考虑到时许在过渡时的状态

好的谢谢!!!!!!!!
回复 支持 反对

使用道具 举报

1

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1304
金钱
1304
注册时间
2019-1-1
在线时间
173 小时
发表于 2021-4-21 15:45:31 | 显示全部楼层
停止信号,首先你得在时钟线为高电平前,把数据线拉低。其次,发送完停止信号,总线电平会拉高,所以不需要IIC_SCL=0;
好好生活,快乐工作
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 23:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表