OpenEdv-开源电子网

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

IIC模拟发送数据

[复制链接]

42

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
549
金钱
549
注册时间
2013-6-18
在线时间
59 小时
发表于 2013-10-23 19:17:10 | 显示全部楼层 |阅读模式
IO口模拟IIC从机,采用IO接收CLK的上升沿中断,现在发送一帧数据差不多要进200次中断,而IIC主机的CLK周期约为20us,
那么理论上来讲发送完数据差不多费时,200*20=4ms(可能包括中断处理时间,但是忽略ACK的等待时间),但是实际在
单片机上测试时候发现CPU非常占资源,发送效率非常低。有知道的大神讲解下。



只为摆正你的倒影,我倾倒了整个世界。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-23 21:24:09 | 显示全部楼层
没做过这种应用,非常占CPU,你是怎么测试的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

42

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
549
金钱
549
注册时间
2013-6-18
在线时间
59 小时
 楼主| 发表于 2013-10-23 21:31:46 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我在main函数加入了led闪烁,500ms闪烁一次,但是发送数据时,led变成了5s闪烁一次了。
IIC主机接收一帧数据的理论值4ms左右,但是用IO口模拟从机的cpu发送数据非常慢,但是
奇怪的是,主机还是能接收的。
只为摆正你的倒影,我倾倒了整个世界。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-23 21:53:28 | 显示全部楼层
回复【3楼】菜鸟鸡哥:
---------------------------------
你的理论值计算可能有问题
200次中断,中断需要时间,中断里面处理也要时间...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

42

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
549
金钱
549
注册时间
2013-6-18
在线时间
59 小时
 楼主| 发表于 2013-10-23 21:57:32 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
中断需要时间,中断里面处理也要时间,这些保守不超过10us,与实际测试相差很大。理论发送为5ms,
实际需要5s
只为摆正你的倒影,我倾倒了整个世界。
回复 支持 反对

使用道具 举报

10

主题

93

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2012-11-16
在线时间
6 小时
发表于 2013-10-24 01:38:49 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
mini板的24CXX到底接的那个管脚啊?
例程上接的是pc12 pc11  但是iic1不应该是pb6  pb7吗?
 
到底那个正确啊?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-24 10:31:35 | 显示全部楼层
回复【5楼】菜鸟鸡哥:
---------------------------------
你测试下中断速度吧,简单的办法,在中断服务函数里面LED取反,测LED频率,你就知道中断连续两次需要多长时间了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-24 10:31:59 | 显示全部楼层
回复【6楼】a2696026:
---------------------------------

看原理图。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

42

主题

173

帖子

0

精华

高级会员

Rank: 4

积分
549
金钱
549
注册时间
2013-6-18
在线时间
59 小时
 楼主| 发表于 2013-10-24 11:32:57 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
问题,已解决。等过段时间共享一下我的IO口模拟IIC从机代码。速度测试下来差不多在50Kbps。
只为摆正你的倒影,我倾倒了整个世界。
回复 支持 反对

使用道具 举报

10

主题

93

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2012-11-16
在线时间
6 小时
发表于 2013-10-24 13:06:02 | 显示全部楼层
回复【8楼】正点原子:

回复【6楼】a2696026:
---------------------------------
看原理图。

---------------------------------
并不是真正的用iic   只是在模拟吗?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-10 11:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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