有没有一种方法我可以使用RS232电压输入? 我现在正在做的是我有2个PC迷上了RS232使用GND,TX和RX引脚进行通信。 香港专业教育学院还DTR连接到开关,当按下即时通讯能够得到的电压输出来驱动LED开关。 我想现在要做的是,当LED补光灯,我会以某种方式得到一个输入和改变一些东西在M编程。 是否有可能做到这一点? 提前致谢。
PS Im做C#编程
有没有一种方法我可以使用RS232电压输入? 我现在正在做的是我有2个PC迷上了RS232使用GND,TX和RX引脚进行通信。 香港专业教育学院还DTR连接到开关,当按下即时通讯能够得到的电压输出来驱动LED开关。 我想现在要做的是,当LED补光灯,我会以某种方式得到一个输入和改变一些东西在M编程。 是否有可能做到这一点? 提前致谢。
PS Im做C#编程
不能直接使用。 你的口RS323通信使用总是为5伏数字信号。 你需要你的电源和RS232端口之间的模拟数字转换器(ADC)。 退房sparkfun.com的多种选择。
是的,有几个输入。 第一所有这些都输入取决于如果RS232是DCE或DTE。 本来这个标准放在一起,一个终端连接到调制解调器。 的DCE是在模型和DTE是终端。 连线销1至1。因此的Tx可以是一个接收器或发射器。
一台电脑通常是DTE。 :考虑到这一点这个信息现在可以更有意义http://en.wikipedia.org/wiki/RS-232
该电压标称+ - 7V。 实际的典型范围+ -3V至+ -15V。 在负电压被警告为逻辑1。
至于C#您可以访问所有的引脚。 检查出类的SerialPort。
祝好运
抢
对的,这是可能的。 我做的。
只需连接 - 能量源RS232 RX引脚(负,地)(请参阅在任何地方上网,以确保在RX引脚)。 当你给电压(脉冲)到该引脚,你看到你的端口一些无意义的动作。 似乎有一个OnComm事件为“接收”,但它没有起始位,没有停车位,这是完全没有意义的。 但是,其监视RS232(COM端口)的任何节目将显示的东西在端口上发生(例如,在ASCII“00”中的HEX或“[00]”)。
正如我所说的它没有启动和停止位,其电压不符合需要的RS232通讯的平均电压,所以你必须有这样的子程序检测到它(你不能处理任何其他方式):
创建1ms的计时器。
timer1.enabled =假----不要忘记关闭它,如果mscomm1.inbuffercount> 0,则-----把你的代码在这里-----这意味着电压已经出现在RX -----例如,你可以代码“buttonpresscount = buttonpresscount + 1”末端如果waitfortheactionend:如果mscomm1.inbuffercount> 0,那么----仍有一定意义的电压----等到脉冲结束,所以转到的DoEvents结束waitfortheactionstop如果 - --Don't忘记启用定时器再次timer1.enabled =真
我希望这将是有益的。 塞达特K.