这是应用程序的编写, 其实也不是 只是在应用程序编写的过程中要注意的一个问题。 曾经我就是没有注意这个问题花了我不少的时间。 共勉吧!
在应用程序最主要的就是 CreateFile 的使用。
m_hLed = CreateFile (
_T ("LED1:" ),
GENERIC_READ |GENERIC_WRITE ,
0,
NULL ,
OPEN_EXISTING ,
FILE_ATTRIBUTE_NORMAL ,
NULL );
注意在LED1 后面一定要有一个冒号, 不然设备管理程序不会把它认为是特殊设备。
在进行LED 操作的时候,WriteFile 函数会对应LED 驱动的LED_Write 函数, WriteFile 函数的参数都会传递给LED_Write.
调用WriteFile 时传的参数如下所示:
WriteFile (m_hLed , &led_info , sizeof (LED_INFO ), &dwWrite , NULL );
m_hLed: CreateFile 返回的句柄。
Led_info: LED_INFO 结构体。
typedef struct
{
unsigned char ucNum ;
unsigned char bStatus ;
}LED_INFO , *PLED_INFO ;
dwWrite : 返回的写入的字节数。
界面确实弄得不BEAUTIFUL
在点击 LED1_ON_OFF 的时候对应的函数 :OnBnClickedLed1 () 中进行调用WriteFile 函数进行LED 状态的控制。
其它的LED 也是一样。