Question:
我刚入门,对c和wince都不熟,想在wince 5.0 下编一个控制IO口灯循环闪烁的程序,各位大侠能否赐教?
我的平台是ep9315开发板,GPIO的地址是0x8084_00xx。我只知道:先编写一个dll文件能访问IO口,然后在应用程序中调用dll文件来实现。三星2440上的程序或linux下的程序有多大的参考价值?
请大家给些个意见。
Answers:
总结了一下,好像有这么几种方法,我明天去试试。
1. 如果是full kernel模式的话,直接应用程序中像单片机一样操作0x8084_00xx就可以了
如果是非full kernel mode的话,通过virtualalloc/virtualcopy后直接操作0x8084_00xx也可以
2. 如果你的io灯不带锁存功能的话,就要你循环的点灯了,类似于数码馆的操作
3. 写个GPIO的流驱动,用EVC或C#调用即可
4. 弄一个驱动,在IOcontrol函数里面,对各个LED灯进行控制...生成一个DLL后,加入到NK中,再再一个小应用程序,来调用DLL的流接口
5. [可选]WinCE5.0 下不需要写驱动,直接在应用层 映射成虚地址来操作即可。
大多数开发商做的BSP的驱动很相似,因为大都是EOM给的,然后自己稍微改一下,所以,你的应该也不例外,参考一下别的BSP,改改地址就差不多!!
控制LED不是目的,灵活控制io和流驱动才是目的
地址线都是CPU自动控制的啊
你只能操作IO口或者硬件寄存器
地址线、数据线、读写信号线,都是在对指定地址进行数据的读/写时,CPU的Memory Controller自动产生时序的,你无法控制,也不需要控制。