最近开发的项目是对Cisco路由的设置,有时候需要发送Ctrl+Break的处理。
我们现在的方案是Cient端负责用串口和Router连接,并通过网络连接到Server。
Server端收到连接后可以进行类似终端的操作。但是现在的问题就是无法发送Ctrl+Break这个中断的控制。
我发送了0xFF,0xF3这个中断,调试的时候也写入了。但是Router返回的竟然是8,32,8,s(8是BS,32是空格)。所以现在很迷惑,这个功能竟然无法实现。另外,发现在用110,300,1200波特率的时候发送e竟然可以达到效果(其实就是想在60秒内Ctrl+Break进入那个状态)。尽管如此,这种方法毕竟不能告诉客户你这么用。所以希望哪个仁兄指点一二!谢谢!
我们现在的方案是Cient端负责用串口和Router连接,并通过网络连接到Server。
Server端收到连接后可以进行类似终端的操作。但是现在的问题就是无法发送Ctrl+Break这个中断的控制。
我发送了0xFF,0xF3这个中断,调试的时候也写入了。但是Router返回的竟然是8,32,8,s(8是BS,32是空格)。所以现在很迷惑,这个功能竟然无法实现。另外,发现在用110,300,1200波特率的时候发送e竟然可以达到效果(其实就是想在60秒内Ctrl+Break进入那个状态)。尽管如此,这种方法毕竟不能告诉客户你这么用。所以希望哪个仁兄指点一二!谢谢!
解决方案 »
- 编计算器的问题--小数点的函数怎么实现
- 问几个udp的nat穿透问题
- 关于jpeg图片大小计算求教~
- 急问一个画图问题!!!
- flash控件问题
- 这么简单的语句为什么都会出错?
- 怎样使主板发声,我用beep在2k下正常,在98,me下不正常,有其他方法么?
- 急急急!怎么CTime数据写入CDateTimeCtrl控件¥20分!!¥
- 400分高分求助!如何将一组图片加入到PPT(PowerPoint)文件中?
- 我想问MSDN 3(CD)于2(CD)的区别,新出的里面是否包括C#的HELP,还包括MFC,C++的帮助吗?
- 只有窗口句柄的情况下,怎样才能获得 其他进程中窗体上的文字(比如标题)?
- 本人因改行,C++/MFC书籍挥泪大甩卖
关于串口中Ctrl+Break的发送。Ctrl+Break这个用户中断在串口中发送有点问题,看了有的人说需要高电平多少毫秒什么的,有了点启发。我用串口调试的工具跟踪,发现在以9600波特率收发的时候,(用超级终端发送,调试工具接)得到的仅仅是一个0。但是在我向设备发送0的时候却得不到这个中断。而当我用1200以下的波特率发送某些字符的时候竟然可以得到这个中断。然后我就用这几个波特率试验,(用1200以下的波特率发送,用9600接收),结果除了几个128等之外,也得到了一个0。我再次发送这些得到的数据(用9600)还是没有发送出中断。后来看了一个文章,说需要高电平,但是如果简单的发送0(0代表高电平)是不可以,还有停止位什么的。最后发现了个api----SetComBreak 原来在这个地方。但是加上了以后在发送就不行了,原因是没有加上ClearComBreak,加了之后又无法发送中断了。因为并没有维持足够时间的高电平。Sleep()一段以后就可以啦。另外说明一下为什么低波特率可以,个人认为,低波特率发送一个位的0,高波特率就收到了好多个(1200*8=9600)甚至认为需要维持的高电平时间应该和波特率有关,应该是接2个byte的时间(没验证希望有人证明)暂时写这么多,以前的内容都很支离破碎,我整理了一下,希望有帮助。