4183|7

79

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

XXX_IOControl里的读和写 [复制链接]

有个问题搞不懂,这是一个SPI驱动,开发板用s3c6410,作为master,外面的设备作为slave,这个设备在XXX_Open后要设置一些它里面的寄存器参数才能工作,这在XXX_IOControl中实现,就是我要把传入IOControl函数里的InBuffer里的数据写到设备中去,那么我在IOControl里面应该怎么实现这个操作:
要调用XXX_Write吗?
需要在IOControl里面引用这个被控制的设备里寄存器的地址吗,如果是我怎么知道这个地址啊?
我知道s3c6410里有SPI_RX_FIFO和SPI_TX_FIFO,如果用FIFO的方式,发送数据就是往SPI_TX_DATA里写,接收数据就是从SPI_RX_DATA里读,那么像我这个IOControl是不是就要往SPI_TX_DATA里写?

初学驱动,谢谢!

最新回复

好好的看一下手册还是很有必要的,呵呵!  详情 回复 发表于 2009-12-30 00:14
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
iocontrol不用通过XXX_write

可以直接在iocontrol里实现对CPU寄存器的操作

不需要知道设备的寄存器地址

知道6410的SPI读写FIFO寄存器地址就哦了
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
不需要调用XXX_Write; 但是你的XXX_Write如果实现了SPI的操作也可以调用这个函数。IOControl没有严格的限制,只要参数类型设置正确。可以看一下msdn的帮助。网上这方面的资料也很多。主体思想就是根据command code,来判断操作类型,根据inbuffer里的数据实施具体操作。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
可以直接通过IOControl来给驱动发命令及数据缓冲区地址,驱动层接收到IOControl后判断命令以及如何处理这段数据。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

5
 
iocontrol 是read 和write函数的结合,即他实现了读写的功能!
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 2 楼 kyzf 的回复:
不需要调用XXX_Write; 但是你的XXX_Write如果实现了SPI的操作也可以调用这个函数。IOControl没有严格的限制,只要参数类型设置正确。可以看一下msdn的帮助。网上这方面的资料也很多。主体思想就是根据command code,来判断操作类型,根据inbuffer里的数据实施具体操作。

我XXX_Write函数是空着的,因为这个应用除了在IOControl里给设备配置参数外不会向设备里写数据,也就是说我只要把Inbuffer里的数据写到TX_FIFO里面就可以了,是这样吗? 我主要是不理解如果不调用XXX_Write,inbuffer里的数据是怎么写到设备中去的?
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
xxx_write和iocontrol是两个相对独立的接口

把inbuffer按6410的spi工作时序复制到TX_FIFO就哦了
 
 
 

回复

61

帖子

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