OpenEdv-开源电子网

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

IIC软件模拟遇到瓶颈了

[复制链接]

16

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-11
在线时间
0 小时
发表于 2012-9-11 15:18:06 | 显示全部楼层 |阅读模式
哎 。。。各种资料各种参考  程序就是调试不出来了 
板子用的是原子的板子(有上拉电阻)  请各位大侠给看一下呗

模拟IIC.zip

2.54 MB, 下载次数: 203

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-9-11 15:42:52 | 显示全部楼层
回复【楼主位】juli.w:
---------------------------------
。。。你们都下载看过哪里又问问题啊?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-9-11 15:50:17 | 显示全部楼层
什么问题?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

16

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-9-11 16:00:24 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
编译没有问题  就是调试不出来 用的是您的板子  想自己学一个模拟IIC的程序可是写出来  却调试不出来 
回复 支持 反对

使用道具 举报

2

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2011-5-15
在线时间
147 小时
发表于 2012-9-11 16:11:44 | 显示全部楼层
bool IIC_Start(void)
{
    SDA_OUT();
 SDA_H;
 SCL_H;
 IIC_delay();
 if(!SDA_read)return FLASE; //SDA线为低电平则总线忙,退出
 SDA_L;
 IIC_delay();
 if(SDA_read)return FLASE; //SDA线为高电平则总线出错,退出
 SDA_L;
 IIC_delay();
 return TURE;
}
回复 支持 反对

使用道具 举报

16

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-9-11 16:16:00 | 显示全部楼层
回复【5楼】chunglin:
---------------------------------
这里有问题???
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-9-11 16:16:05 | 显示全部楼层
回复【4楼】juli.w:
---------------------------------
直接参考我们的代码就差不多了啊
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

16

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-9-11 16:17:44 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
嗯   也参照了  就是调试不出来  纠结
回复 支持 反对

使用道具 举报

2

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2011-5-15
在线时间
147 小时
发表于 2012-9-11 16:20:42 | 显示全部楼层
回复【6楼】juli.w:
---------------------------------
read之前不用配置SDA脚?
回复 支持 反对

使用道具 举报

16

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-9-11 16:21:21 | 显示全部楼层
回复【5楼】chunglin:
---------------------------------
是要将SDA_OUT改为SDA_IN 吗???
回复 支持 反对

使用道具 举报

16

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-9-11 16:22:13 | 显示全部楼层
回复【9楼】chunglin:
---------------------------------
配置了 SDA_OUT()已经配置了
回复 支持 反对

使用道具 举报

16

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
143
金钱
143
注册时间
2012-7-11
在线时间
0 小时
 楼主| 发表于 2012-9-11 16:22:39 | 显示全部楼层
回复【5楼】chunglin:
---------------------------------
可以加下扣扣吗?841310583
回复 支持 反对

使用道具 举报

2

主题

106

帖子

0

精华

高级会员

Rank: 4

积分
714
金钱
714
注册时间
2011-5-15
在线时间
147 小时
发表于 2012-9-11 16:42:53 | 显示全部楼层
回复【11楼】juli.w:
---------------------------------
两条if语句先去掉试一下
回复 支持 反对

使用道具 举报

6

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2012-8-31
在线时间
0 小时
发表于 2012-9-11 23:49:40 | 显示全部楼层
http://www.openedv.com/posts/list/8219.htm
我在论坛这个地贴了一个代码,楼主也可以参考下。我是按照规格书调试的。
也是调试了一整天。我当时是一步步来调试的。
比如:
U8 eeprom24c02_write_addr( U8 addr )
{
eeprom24c02_start();

//===========  device addr
eeprom24c02_write_clk( 0xa0 );  // device addr

if(0 == eeprom24c02_check_ack() )
{
return 0 ;
}

//=========== store addr
eeprom24c02_write_clk( addr ); 

if(0 == eeprom24c02_check_ack() )
{
return 0 ;
}

return 1 ;

}




到这里,if(0 == eeprom24c02_check_ack() ),我会用一个LED灯点亮或不点亮,表明当前这步是否能通的过。
一步步来的话,慢慢很快就能找到问题了。

回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 20:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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