新手求教,io口操作

snowie   2010-1-12 15:35 楼主
我刚入门,对c和wince都不熟,想在wince 5.0 下编一个控制IO口灯循环闪烁的程序,各位大侠能否赐教?
我的平台是ep9315开发板,GPIO的地址是0x8084_00xx。我只知道:先编写一个dll文件能访问IO口,然后在应用程序中调用dll文件来实现。三星2440上的程序或linux下的程序有多大的参考价值?
请大家给些个意见。

回复评论 (17)

参考别的BSP的GPIO 写个驱动就可以了
点赞  2010-1-12 16:03
1。 如果是full  kernel模式的话,直接应用程序中像单片机一样操作0x8084_00xx就可以了
如果是非full kernel mode的话,通过virtualalloc/virtualcopy后直接操作0x8084_00xx也可以
2。 如果你的io灯不带锁存功能的话,就要你循环的点灯了,类似于数码馆的操作
点赞  2010-1-12 16:15
ep9315开发板开发板环境下,可以直接往端口赋值的。
如:
0x8084_00xx=0x01;
点赞  2010-1-12 16:18
写个GPIO的流驱动,用EVC或C#调用即可
点赞  2010-1-12 17:04
可以写GPIO的驱动 应用程序调用 也可以直接在驱动中写LED程序,应用程序调用 这个问题 以前讨论过,楼主查查以前的帖子吧
点赞  2010-1-12 17:54
WinCE5.0 下不需要写驱动,直接在应用层 映射成虚地址来操作即可。
点赞  2010-1-12 19:41
确实如此,弄一个驱动,在IOcontrol函数里面,对各个LED灯进行控制...生成一个DLL后,加入到NK中,再再一个小应用程序,来调用DLL的流接口...
点赞  2010-1-12 20:31
引用: 引用 5 楼 cfanlwn 的回复:
可以写GPIO的驱动 应用程序调用 也可以直接在驱动中写LED程序,应用程序调用 这个问题 以前讨论过,楼主查查以前的帖子吧

娜娜说的极是。
点赞  2010-1-12 20:50
谢谢大家! 第一次提问就有这多人帮忙!
总结了一下,好像有这么几种方法,我明天去试试。
1.        如果是full  kernel模式的话,直接应用程序中像单片机一样操作0x8084_00xx就可以了
如果是非full kernel mode的话,通过virtualalloc/virtualcopy后直接操作0x8084_00xx也可以
2.         如果你的io灯不带锁存功能的话,就要你循环的点灯了,类似于数码馆的操作
3.        写个GPIO的流驱动,用EVC或C#调用即可
4.        弄一个驱动,在IOcontrol函数里面,对各个LED灯进行控制...生成一个DLL后,加入到NK中,再再一个小应用程序,来调用DLL的流接口
点赞  2010-1-12 20:55
方法1实现了,方法3.4明天再试试。
哎 以前没编过程序,头疼啊
点赞  2010-1-13 21:56
恩。方法1可以,我以前也操作过GPIO
http://blog.eeworld.net/joyzml/archive/2009/12/10/4977533.aspx
点赞  2010-1-13 22:03
大多数开发商做的BSP的驱动很相似,因为大都是EOM给的,然后自己稍微改一下,所以,你的应该也不例外,参考一下别的BSP,改改地址就差不多!!
点赞  2010-1-14 07:23
3 最通用  不止可以控制LED IO口都是可以控制的 麻烦这一次 以后就轻松了,呵呵
点赞  2010-1-14 08:57
mark.
点赞  2010-1-14 12:46
cfanlwn 说的好。
控制LED不是目的,灵活控制io和流驱动才是目的

多谢大家,我继续试试
点赞  2010-1-14 22:11
学习了
点赞  2010-1-15 08:47
学习了
点赞  2010-1-15 09:45
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复