首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

应用程序怎么调用OEMWriteDebugLED()

2012-03-06 
应用程序如何调用OEMWriteDebugLED()?对驱动完全不了解~由于要应用程序中控制LED灯,在驱动中找到了这么几

应用程序如何调用OEMWriteDebugLED()?
对驱动完全不了解~由于要应用程序中控制LED灯,在驱动中找到了这么几个函数~
BSP的EBoot文件夹,loader.h中,

C/C++ code
void OEMWriteDebugLED(WORD wIndex,DWORD dwPattern);

main.c文件中
C/C++ code
void main(void){    //Clear LEDs.    //    [color=#FF0000]OEMWriteDebugLED(0,0x3F);[/color]    //BootloaderMain();    //SpinForever();}

我试着把main函数中OEMWriteDebugLED中的参数改变,发现启动时LED灯的确改变了~~
问题是这是在驱动内调用,如果是在应用程序中该如何调用,求教~~


以及,我在dbgapi.h中找到了一个WriteDebugLED()函数,可以在应用程序中直接调用,但是似乎没有作用~而且这个只能找到定义~


BSP的Stepldr文件夹,utils.c中有个函数
C/C++ code
void Led_Display(int data){    //Active is low.(LED on)    //GPE3   GPE2   GPE1   GPE0    //nLED_8 nLED_4 nLED_2 nLED_1    //    rGPBDAT = (rGPEDATA & ~(0xf<<0)) | ((~data & 0xf) <<0);}

这个函数跟OEMWriteDebugLED()又有什么关系?

[解决办法]
既然驱动中可以调用,那就把这个函数再封装成DLL,然后应用程序调用这个DLL就可以了。。
[解决办法]
我觉得
1 用KernelIOControl更好
不过应该要自己去加一个IO控制码,如IO_WRITE_LED

2 应该可以写一个最简单的流驱动
应用程序通过这个流驱动间接调用OEMWriteDebugLED
[解决办法]
探讨

引用:

我觉得
1 用KernelIOControl更好
不过应该要自己去加一个IO控制码,如IO_WRITE_LED

2 应该可以写一个最简单的流驱动
应用程序通过这个流驱动间接调用OEMWriteDebugLED

关键是KernelIOControl我不知道怎么在引用程序中使用~~控制码的话好像有现成的LED控制~~就是调用的OEMW……

[解决办法]
这个是内核调用的,不是你驱动去调用的。
楼主想用来干啥,不必拘泥与函数,自己写个驱动也可以啊

热点排行