WINCE蓝牙连接之后系统进入睡眠状态,唤醒后蓝牙应用程序无法正常响应
大家好,最近在调试WINCE6.0蓝牙驱动睡眠唤醒,发现存在如题的问题:具体的情况描述如下:
HANDLE hService = CreateFile(L"BTD0:", GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
1.打开蓝牙应用程序,搜索蓝牙打印机,搜到之后,连接上蓝牙打印机。
2.进入睡眠之前执行DeviceIoControl(hService, IOCTL_SERVICE_STOP, argPtr, sizeof(WCHAR)*(wcslen (argPtr) + 1), NULL, 0, NULL, NULL)来停止蓝牙的服务。
3.对蓝牙下电。
4.唤醒后执行DeviceIoControl(hService, IOCTL_SERVICE_START, argPtr, sizeof(WCHAR)*(wcslen (argPtr) + 1), NULL, 0, NULL, NULL)来开始蓝牙的服务。
这时候点击蓝牙应用程序的打印功能的时候,不能打印,而且系统响应很忙,麻烦大家帮忙分析一下,如何解决这个问题,我想要的效果就是,唤醒之后,可以接着打印的,先谢谢大家了。
[解决办法]
蓝牙 是在开机的时候初始化的,你断电之后要初始化的吧?
下了电之后,原来的记录都没保存了,你想直接连接那是不可能的。
关于手机,我想估计只是进入低功耗而已,并没有完全断电的。
[解决办法]
是呀,只能让蓝牙模块进入低功耗模式,不能断电的。唤醒后才能保存状态呀。看看驱动里有没suspend和resume函数吧。没有的话要自己加,看看模块datasheet