4957|7

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

怎么编写 同一个接口上 的 多个设备驱动? [复制链接]

请教大家一个问题,请大家帮帮忙。

    我在使用的是WINCE5.0,硬件上只有一个I2C接口,挂接了4个设备(I2C支持很多个从设备)。
    其中包括一个电源管理芯片,一个IO扩展,一个A/D转换,还有一个EEPROM。

    我现在要分别编写这几个设备的驱动,应用层序不会直接去使用I2C来操作这些设备的。因此需要独立开来。


    现在遇到一个问题就是,怎么写这个驱动比较好,I2C接口只有一个,I2C控制器也只有一个,同一时刻只能有一个设备使用。怎么写才好呢。

    有两种方案:
    1。 每个设备驱动自己去操作I2C的寄存器,然后自己在几个驱动中做互斥。
    2。 编写I2C驱动,另外几个设备驱动再使用这个I2C驱动去访问外围设备。

大家给个提示,谢谢,刚开始写驱动,有很多不懂的,希望有经验的朋友提供一些帮助

最新回复

谢谢大家提供的意见,  详情 回复 发表于 2010-3-18 10:02
点赞 关注

回复
举报

75

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
方法2
通常的总线驱动如PCI,USB都是这么做的
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
那这个驱动被打开多次!怎么去管理数据收发呢 !
    有没有好的建议
谢谢
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 
2 合适一些。符合设计规范。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 
可以参考串口驱动,同一个驱动加载多次,访问不同的UART,而你要做的是在驱动中访问同一个IIC,做些互斥。串口驱动是个很好的驱动,可以学到不少东西。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
基本都是用方法2。

i2c 总线 本身就支持一个总线 挂多个从设备。

楼主只需要 实现一个带地址为参数的的I2C总线驱动,然后上层调用时,根据每个I2C设备的地址不一样,根据地址作为参数,进行访问,就可以保证没问题。
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

7
 
还有一个方法就是写一个IIC的PDD驱动,然后再针对不同的IIC外设写MDD驱动,实现时需要注意互斥。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

8
 
谢谢大家提供的意见,
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表