5427|18

88

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

急!!GPIO模拟的IIC,电池驱动反复调用,会对系统有影响吗? [复制链接]

如题。wince5.0平台。我的电池驱动里用的GPIO模拟IIC的方式,通过读写IIC来得到电压值和当前电量值。而电池驱动是wince系统反复调用的,这样就相当于GPIO在反复调用。现在系统很慢很卡,鼠标晃动也很卡。会是因为这个GPIO模拟IIC的原因吗?

最新回复

我来看看。我也遇到同样的问题,  详情 回复 发表于 2010-3-4 21:48
点赞 关注

回复
举报

80

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
那要看你代码怎么写,出现这样的情况,只能说你的实现有问题。
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用楼主 jiayiting 的回复:
如题。wince5.0平台。我的电池驱动里用的GPIO模拟IIC的方式,通过读写IIC来得到电压值和当前电量值。而电池驱动是wince系统反复调用的,这样就相当于GPIO在反复调用。现在系统很慢很卡,鼠标晃动也很卡。会是因为这个GPIO模拟IIC的原因吗?

你要是很频繁的调用这个驱动,那系统还哪有时间做其他事?
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

4
 
中间加一些sleep()呢.
持续调用,还有打印等事情,使thread之间不能互相调用的话,会造成很卡如你所说的现象
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

5
 
GPIO占用总线
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
是不是这个影响,吧这个驱动先屏蔽掉,然后再看不就清楚了?

电池驱动,应该是隔一段时间调用一次,来反馈电量信息吧
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 
把此驱动先拿掉试试看,看看是不是这个问题导致
我们平台上也是GPIO模拟I2C,查询电池电量是周期性的查询,没有任何问题
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 6 楼 hahagoodhaha 的回复:
把此驱动先拿掉试试看,看看是不是这个问题导致
我们平台上也是GPIO模拟I2C,查询电池电量是周期性的查询,没有任何问题

你是多长时间调一次电池驱动呀?所有的信息不是都是在BatteryPDDGetStatus这个函数里返回的吗,这样的话,比如说我1min查询一次,电池电耗光了,我需要立即充电,那岂不是1min以后,电池的标志才会变成充电的标志??
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

9
 
1. 我印象中,一般会设置1分钟左右查询一次吧,应该不会这个原因导致速度变慢
2. 另外,我没有测试过,如果“我需要立即充电,那岂不是1min以后,电池的标志才会变成充电的标志??”不知道检查速度会不会加快

 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
要判断是否是这个原因导致的问题最简单的办法是让系统不加载这个驱动,或者是读取代码中无任何操作,也就是去掉通过IO口模拟IIC通信操作这部分内容,看看系统是否仍然卡,还卡的话就是其它地方的问题,如果不卡了就说明你写的代码问题,通常情况下IO口模拟IIC不会有什么问题的,有问题的话只能是代码写得不好,驱动中尽量不要使用while(..)之类的语句,除非你确定这个while瞬间就过去了,不影响整个系统,否则会让系统很卡。
 
 
 

回复

53

帖子

0

TA的资源

一粒金砂(初级)

11
 
我想问一下 所有的信息不是都是在BatteryPDDGetStatus这个函数里返回的吗,这样的话,比如说我1min查询一次,电池电耗光了,我需要立即充电,那岂不是1min以后,电池的标志才会变成充电的标志??
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用楼主 jiayiting 的回复:
如题。wince5.0平台。我的电池驱动里用的GPIO模拟IIC的方式,通过读写IIC来得到电压值和当前电量值。而电池驱动是wince系统反复调用的,这样就相当于GPIO在反复调用。现在系统很慢很卡,鼠标晃动也很卡。会是因为这个GPIO模拟IIC的原因吗?


测电池电压不用太快的。
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 11 楼 gooogleman 的回复:
引用楼主 jiayiting 的回复:
如题。wince5.0平台。我的电池驱动里用的GPIO模拟IIC的方式,通过读写IIC来得到电压值和当前电量值。而电池驱动是wince系统反复调用的,这样就相当于GPIO在反复调用。现在系统很慢很卡,鼠标晃动也很卡。会是因为这个GPIO模拟IIC的原因吗?


测电池电压不用太快的。

所有的信息不是都是在BatteryPDDGetStatus这个函数里返回的吗,这样的话,比如说我1min查询一次,电池电耗光了,我需要立即充电,那岂不是1min以后,电池的标志才会变成充电的标志??

怎么都没人回答这个问题呀~~~
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

14
 
UP!
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 12 楼 jiayiting 的回复:
引用 11 楼 gooogleman 的回复:
引用楼主 jiayiting 的回复:
如题。wince5.0平台。我的电池驱动里用的GPIO模拟IIC的方式,通过读写IIC来得到电压值和当前电量值。而电池驱动是wince系统反复调用的,这样就相当于GPIO在反复调用。现在系统很慢很卡,鼠标晃动也很卡。会是因为这个GPIO模拟IIC的原因吗?


测电池电压不用太快的。

所有的信息不是都是在BatteryPDDGetStatus这个函数里返回的吗,这样的话,比如说我1min查询一次,电池电耗光了,我需要立即充电,那岂不是1min以后,电池的标志才会变成充电的标志??

怎么都没人回答这个问题呀~~~


充电时难道没有INTTERUPPT产生吗?
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

16
 
我现在用控制寄存器的方式来操作IIC,但是系统竟然会运行一会,就死机,这会是什么原因呢???
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

17
 
UP!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

18
 
up
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

19
 
我来看看。我也遇到同样的问题,
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表