这两天搞程序把我搞的头大,向RTS针脚发送指令,改变其针脚的电压值。使高电平变成低电平。我用的是EscapeCommFunction来设置高底电平。程序是写对了,我用串口监控 监测到向串口发送的数据,可我很纳闷,为什么相应的信号灯RTS不亮呢?线路是没什么问题的,向电路板写数据用WritePort的时候,其2,3 RXD,TXD信号灯亮。说起电路板,很简单。没什么芯片,就是几个针脚对应二极管,信号灯,还有电池。 如果串口针脚电压有变化,那么正负 相通,信号灯会亮起来。
请高手解答,高分相送。

解决方案 »

  1.   

    我用的时候初始化是dcb.fRtsControl=RTS_CONTROL_DISABLE;
      

  2.   

    常规做法,vcc接led正极,led负极接限流电阻R,R接控制管脚。
      

  3.   

    功能很简单,就是改变其RTS的高低电平, 可实现起来怎么那么麻烦呢?
      

  4.   

    灯不亮,有多种可能,既然你已经得到程序是正确的结论,那么问题应该出在电路上。给某个管脚输出高电平1,未必能够点亮一个led灯。首先是电平问题,有的芯片的电平是负逻辑,串口就是一个例子,在串口中,-5--15V表示逻辑电平1,而5-15V表示逻辑电平0.你输出逻辑1,是否在管脚上体现出高电平,这是个问题。其次是功率问题,有的芯片的驱动能力是很小的,小到只能输出高低电平,而不能点亮led。再次是持续时间问题,你输出RTS为1,是否管脚上恒定为1,如果持续时间较短,那么肉眼应该分辨不出来led的亮灭。最后是电路问题,在前面已经说了。
      

  5.   

    谢谢高手解答,现在遇到的问题是,在输入口线上经电阻(5K)下拉低电平(-9V),一个按钮按下后是高电平(+9V),现在的问题是无论是按下还是松开按钮,用串口监控软件比如串口调试助手看不到其电平的变化,这个问题不知道是哪些原因引起的?有没有能够看到RTS,CTS,DCD,DSR,RI,这些值的变化的调试助手?
     看来高分给你是给定了
      

  6.   

    我对你提到的那些api还有管脚都不懂,如果我调试这种程序,我会使用万用表。