怎样在应用程序中控制(使之输出与不输出)调试串口一,即打开或者关闭“调试”串口一

gniyliu 2008-07-28 05:36:49
怎样在应用程序中控制(使之输出与不输出)调试串口一,即打开或者关闭“调试”串口一?

用个实例说可能更明白一点:在bsp的触摸驱动里面我需要将坐标信息通过串口发送出去,而有时候我又需要关闭它,不让这些坐标信息发送,该怎么入手
...全文
208 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kidhuang 2008-07-29
  • 打赏
  • 举报
回复
尝试通过增加注册表键值的方法来控制这些信息~前提是你已经实现了hive 注册表~~
xumercury 2008-07-29
  • 打赏
  • 举报
回复
那只需要在需要打开串口的时候create好串口,大概是这个样
HANDLE CreateFile( LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDistribution,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile);

然后在要关闭的时候把串口释放掉。大概是这个样子
BOOL CloseHandle(
HANDLE hObject; //handle to object to close
);

就好了
gniyliu 2008-07-29
  • 打赏
  • 举报
回复
slyzhang :我不能重新启动系统,我要在应用程序中实现开启与关闭调试串口
gniyliu 2008-07-29
  • 打赏
  • 举报
回复
我现在的想法是在应用程序中使用串口类打开或者关闭串口,这样就能运行串口驱动文件里面的SL_Open和SL_Close函数(在ser2410_hw.c文件中),于是就相当于有这么一个参数传递进来,建立这样一个变量,在SL_Open函数中判断若是串口一则将变量设定为TRUE,SL_Close函数运行关闭串口一时将变量设定为FALSE,然后在tchpdd.cpp中根据这一变量的值判断是否应当通过串口一发送触摸屏的数据。

现在的问题是,怎样在tchpdd.cpp 和 ser2410_hw.c使用同一个变量?我尝试过新建一个BOOL变量,但是不成功,而且我尝试在tchpdd.cpp文件中写了个设定这个变量的函数,但是在ser2410_hw.c中不能使用这个寒暑,错误提示这个函数为外部的而且没有保存的。请高手指点!
Reallyu 2008-07-29
  • 打赏
  • 举报
回复
写注册表的方法不好
1.需要频繁读写注册表,因为无法在初始化调试串口的时候读注册表,这时候注册表可能还没有初始化好,系统api可能也不能用,所以只有在每次调用OEMWriteDebugString的时候读注册表
2.因为在注册表及api未初始化前调用会失败,所以需要增加判断,这样会影响系统性能
所以还是 shuiyan 的方法好
slyzhang 2008-07-28
  • 打赏
  • 举报
回复
写注册表 这是最简单的 根据注册表项目 来确定当前是否需要输出,RETAILMSG即可。 重新启动生效,很方便
gniyliu 2008-07-28
  • 打赏
  • 举报
回复
ls有些概念我不知道是怎么回事,虽然可能你已经讲得很清楚了,但具体的实施不知道怎么做,要找时间了解一些这些个东西
shuiyan 2008-07-28
  • 打赏
  • 举报
回复
不是用全局变量,而是共享内存。驱动是Kernel环境,应用无法直接跟Kernel通讯的。在内存中划分一个固定大小的空间,在驱动里面可以直接使用,而在应用里面只要用VirtualAlloc/VirtualCopy映射一下就能用。驱动监视,应用修改,即可。像你的需求,只要开最小的就行。

或者驱动里面增加一个IOControl Code,应用来通知也行。
gniyliu 2008-07-28
  • 打赏
  • 举报
回复
谢谢,我也是这么个想法,但是,这个全局变量怎样加?我如何在bsp和基于wince系统的应用程序中使用它
KevinCEC 2008-07-28
  • 打赏
  • 举报
回复
加一个全局bool变量 不就得了? 或者存成文件

19,498

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧