日期:2014-05-19  浏览次数:21033 次

大家都来看看这个C#串口编程的DEMO,有个问题想问大家
我初学串口编程
今天在网上找了个老外写的文章
很受启发
下面是网址:
http://www.codeproject.com/cs/system/rs232ThreadSafe.asp
代码都在里面,可以下载的
下载后运行没有问题
但是我点向串口发数据的时候,能发送,却没有收到数据
检查一下发现port_DataReceived_1事件没有得到执行
请问高手怎么样才能收到我发到串口的数据
我的串口什么设备也没有接,数据是不是跑了

------解决方案--------------------
发送到你串口连接的另一端了
------解决方案--------------------
1、确定你的机器有两个以上串口(可以用USB转)
2、用附件中的 超级终端 把数据从 COM3发送到COM4,测试一下有问题没有
3、测试你程序
------解决方案--------------------
如果我没记错的话,如果是RS232,那么你找个几十k的电阻把串口(如COM1)的1、2线连接,然后COM1发送数据本串口就能收到;RS485是2、3线短接。原理很简单,发送端与接收端相连,发送数据直接进入该串口的接收缓冲区。
------解决方案--------------------
但是我点向串口发数据的时候,能发送,却没有收到数据,你是想要得到返回值?
------解决方案--------------------
直接把COM1的2,3脚短路就可以自发自接了,这样就可以测试你自己的程式
------解决方案--------------------
你把机箱调过来仔细看看COM1口,上面的引脚,一共两排,最长的那排的第一个引脚是1号引脚,过去就是2号和3号,把2、3号短接,用程序测去吧。。累
------解决方案--------------------
PS:短接就是。。找根导线把2、3脚直接焊上。。不过一般不这样做,找个母头接到COM1,把母头的2、3脚焊上。如果你不知道什么是母头,orz,我路过。。
------解决方案--------------------
楼上被爆头了
------解决方案--------------------
不一定要焊死,只要短接就可以了
------解决方案--------------------
2Rx,接收数据;3Tx,发送数据。。剩下的,还需要解释么?
------解决方案--------------------
DataReceived事件需要SerialPort.Read()来引发的。
------解决方案--------------------
说得够清楚的了,2、3针短接,自发自收,代码GOOGLE一下就有了