驱动与应用程序通信有关问题
驱动与应用程序通信问题
当我的驱动程序在中断处理线程采集到一个中断,如何立刻通知应用程序(不要用应用程序轮询)?网上查了下,好像可以通过回调函数或事件两种方式。但不知道具体怎么实现。有没有大神能讲讲,或给个简单例子?不胜感激。(注:我用的是WINCE系统)
------解决方案--------------------
对于wince平台,你可以参考windows的消息编程,应用程序开个线程等待消息,监听当前句柄收到的消息,参考while(GetMessage())
{
}
驱动中直接收到中断后向全局发送消息,用SendMessage(),你指定个消息类型,你的应用鉴别下消息,是自己的就收。
------解决方案--------------------
LINUX下的回调就是在用户层代码里自己写1个callback函数,
把函数指针或者函数名注册到某个结构体里,
这个结构体就是应用层调用驱动层的时候输入的参数,
前提是该驱动支持callback机制。
WINCE没整过,但是估计差不多..
当我的驱动程序在中断处理线程采集到一个中断,如何立刻通知应用程序(不要用应用程序轮询)?网上查了下,好像可以通过回调函数或事件两种方式。但不知道具体怎么实现。有没有大神能讲讲,或给个简单例子?不胜感激。(注:我用的是WINCE系统)
------解决方案--------------------
对于wince平台,你可以参考windows的消息编程,应用程序开个线程等待消息,监听当前句柄收到的消息,参考while(GetMessage())
{
}
驱动中直接收到中断后向全局发送消息,用SendMessage(),你指定个消息类型,你的应用鉴别下消息,是自己的就收。
------解决方案--------------------
LINUX下的回调就是在用户层代码里自己写1个callback函数,
把函数指针或者函数名注册到某个结构体里,
这个结构体就是应用层调用驱动层的时候输入的参数,
前提是该驱动支持callback机制。
WINCE没整过,但是估计差不多..