6023|15

82

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

Windows CE下SPI应用及驱动程序? [复制链接]

小弟第一次接触嵌入式系统,将自己的问题详细描述一下,以便各位大哥大姐多多帮忙!
我用的硬件平台是三星2440,在这套平台上嵌入了Windows CE操作系统。2440内部带有两个SPI口同外部通信,我们要做的是通过SPI接口用一块单片机给2440发送数据,同时检测到这个中断信号,在CE下调用一个应用程序。
我以前没做过VC的开发,但是比较熟悉C语言、懂一些C++的内容。完成上面的工作,也就是识别SPI中断,调用中断应用程序,需要从哪里入手,应该查阅哪方面的资料???我看到网上的步骤都是先写底层的驱动程序ISR,然后再写流驱动IST,进而完成SPI的应用,真的必须这么做么??可不可以直接类似在非操作系统下,通过读写SPI寄存器来完成。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~谢谢 THANK YOU VERY MUCH!

最新回复

请问如果是这样,那么接受数据这部分驱动应该怎么写呢?还是用中断方式吗?十分感谢,我的驱动写的差不多了,就接受数据这块还不是很懂,请知道的兄弟姐妹们帮帮忙。。  详情 回复 发表于 2009-3-26 18:03
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
wince 系统不让应用程序直接访问硬件的。
你就乖乖的做个spi流接口驱动,然后应用层用createfile,readfile,writefile实现。
至于流接口驱动怎么做,建议你买本书或者在网上搜索相关资料。
goodluck。。
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
LS正解
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
“2440内部带有两个SPI口同外部通信,我们要做的是通过SPI接口用一块单片机给2440发送数据,同时检测到这个中断信号,在CE下调用一个应用程序。


----》意思是不是捕捉到中断,就在WinCE下调用一个应用程序.
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
和单片机通信我做过,首先要看是谁做主机,谁做从机。其次,丛机接收数据需要主机触发。
做个流驱动就可以了。
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

6
 

LS说 "和单片机通信我做过,首先要看是谁做主机,谁做从机。其次,丛机接收数据需要主机触发。
做个流驱动就可以了。"

----> 这种驱动我没搞过,有一些疑问,单片机是主或从,单片机能认识流驱动吗?
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
SPI一般有四根线,MISO,MOSI,SCLK,/SS.单片机和流驱动没关系,流驱动是wince应用程序和Wince SPI电路的通信的。
建议你先看下SPI资料。再看下wince SPI驱动的例子,网上有。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 
2 楼正解
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 1 楼 ulovexd 的回复:
wince 系统不让应用程序直接访问硬件的。
你就乖乖的做个spi流接口驱动,然后应用层用createfile,readfile,writefile实现。
至于流接口驱动怎么做,建议你买本书或者在网上搜索相关资料。
goodluck。。


不一定,wince5.0是可以直接用应用程序访问 的。因为应用和驱动都在用户空间。
wince6.0 就不行了。驱动放到内核空间了。
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

10
 
补充下, WinCE 5.0 只是不能直接访问硬件中断。所以要是有用到硬件中断的程序就最好写成驱动,应用程序再调用了。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 9 楼 xajhuang 的回复:
补充下, WinCE 5.0 只是不能直接访问硬件中断。所以要是有用到硬件中断的程序就最好写成驱动,应用程序再调用了。


我只用来访问寄存器。中断没有试过,学习一下。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

12
 
想到个问题,是不是SPI通信时,每接收一字节数据就要产生一次中断,如果是这样的话,WINCE操作系统调度
的过来吗?还是接收一个数据包只在头上产生一次中断,然后再通过查询方式把数据读完整?如果是这样的
话,2440的中断模式该怎么设置呢?好像2440的没有缓冲区的,每接收一个数据就产生一个接收中断事件。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

13
 
2440的没有多字节的缓冲区,像CAN总线一样,好几十字节的接收缓冲区满了才产生中断!
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 12 楼 wjf_zjut 的回复:
2440的没有多字节的缓冲区,像CAN总线一样,好几十字节的接收缓冲区满了才产生中断!


2440的SPI没有多字节的缓冲区,像CAN总线一样,好几十字节的接收缓冲区满了才产生中断!
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 
让俺长见识啦,呵呵
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 13 楼 wjf_zjut 的回复:
引用 12 楼 wjf_zjut 的回复:
2440的没有多字节的缓冲区,像CAN总线一样,好几十字节的接收缓冲区满了才产生中断!


2440的SPI没有多字节的缓冲区,像CAN总线一样,好几十字节的接收缓冲区满了才产生中断!

请问如果是这样,那么接受数据这部分驱动应该怎么写呢?还是用中断方式吗?十分感谢,我的驱动写的差不多了,就接受数据这块还不是很懂,请知道的兄弟姐妹们帮帮忙。。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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