佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 3142|回复: 24

RS232的TX和RX使用同一条线

[复制链接]
发表于 16-12-2007 11:17 PM | 显示全部楼层 |阅读模式
PC->RS232->PIC

PC到RS232是使用TX和RX分开的,但是RS232到PIC是TX和RX在同一条线。

请问谁有这个的电路图?能否解释一下起原理?感激不尽。

[ 本帖最后由 GuoHui 于 16-12-2007 11:23 PM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 16-12-2007 11:34 PM | 显示全部楼层
原帖由 GuoHui 于 16-12-2007 11:17 PM 发表
PC->RS232->IC

PC到RS232是使用TX和RX分开的,但是RS232到PIC是TX和RX在同一条线。

请问谁有这个的电路图?能否解释一下起原理?感激不尽。


pic rx tx 不是分开的吗?
怎么会是在同一条线。

你有没有电路图?
没有电路图的话你在那里看到的??至少给个link.没有的话很难猜到你要问的是什么。

[ 本帖最后由 fritlizt 于 16-12-2007 11:35 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 16-12-2007 11:45 PM | 显示全部楼层
原帖由 fritlizt 于 16-12-2007 11:34 PM 发表 pic rx tx 不是分开的吗?怎么会是在同一条线。你有没有电路图?没有电路图的话你在那里看到的??至少给个link.没有的话很难猜到你要问的是什么。
现在我没有电路图,电路图在公司,大概记得是这样罢了。
回复

使用道具 举报

发表于 16-12-2007 11:57 PM | 显示全部楼层
原帖由 GuoHui 于 16-12-2007 11:17 PM 发表
PC->RS232->IC

PC到RS232是使用TX和RX分开的,但是RS232到PIC是TX和RX在同一条线。

请问谁有这个的电路图?能否解释一下起原理?感激不尽。


请问你是用在哪里?

你要的是MBUS?

回复

使用道具 举报

 楼主| 发表于 17-12-2007 12:05 AM | 显示全部楼层
原帖由 pic 于 16-12-2007 11:57 PM 发表


请问你是用在哪里?

你要的是MBUS?

http://www.panuworld.net/nuukiaworld/hardware/cables/mbusidea.gif


其实我是用pc send command到pic,然后pic会回复回pc另外一些data。主要是test那个product有没有正常操作。

线路是customer给的,我负责test。现在我send什么东西出去就收回什么东西,所以我不知道是这个线路不能操作,还是pic没有response。
回复

使用道具 举报

发表于 17-12-2007 09:11 AM | 显示全部楼层
原帖由 GuoHui 于 16-12-2007 11:45 PM 发表
现在我没有电路图,电路图在公司,大概记得是这样罢了。


等你的电路图先。没用过类似的接法。
通常我都是rx->tx tx->rx.
回复

使用道具 举报

Follow Us
发表于 17-12-2007 09:21 AM | 显示全部楼层
原帖由 GuoHui 于 17-12-2007 12:05 AM 发表
其实我是用pc send command到pic,然后pic会回复回pc另外一些data。主要是test那个product有没有正常操作。

线路是customer给的,我负责test。现在我send什么东西出去就收回什么东西,所以我不知道是这个线路不能操作,还是pic没有response。

那个电路会Echo回去, 所以你送什么就收回什么,这是对的, 你要ignore 你send的charactor。 还有就算没有PIC MCU, 也可能会Echo, 你要给我看电路才可以确定。


如果你要知道PIC MCU有没有操作,你就要问你的customer , 是什么communications Protocol,什么baud rate, 或要他们提供测试用的software。

最后, 如果你可以说是什么产品,对回覆你会有帮助。

[ 本帖最后由 pic 于 17-12-2007 09:22 AM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 17-12-2007 09:32 PM | 显示全部楼层


就是这个图,有哪位大大能解释给我吗?
回复

使用道具 举报


ADVERTISEMENT

发表于 18-12-2007 08:39 AM | 显示全部楼层
原帖由 GuoHui 于 17-12-2007 09:32 PM 发表
就是这个图,有哪位大大能解释给我吗?

首先,这个图是你自己画的, 肯定不是原图, 所以有错误,Q1的1 和3 脚接反了。


MOSFET 在这里的作用是Level shifter,
5V<--> 3.3V, 0V <--->0V

你的MCU应该是用3.3V, 但MAX232 是5V , 所以不能直接输入, 要作电平转换。
回复

使用道具 举报

 楼主| 发表于 18-12-2007 06:46 PM | 显示全部楼层
原帖由 pic 于 18-12-2007 08:39 AM 发表

首先,这个图是你自己画的, 肯定不是原图, 所以有错误,Q1的1 和3 脚接反了。


MOSFET 在这里的作用是Level shifter,
5V 3.3V, 0V 0V

你的MCU应该是用3.3V, 但MAX232 是5V , 所以不能直接输入, ...


哈哈……的确是我画的。

这样的把RX和TX接在一起能用吗?如果没有记错的话,pic是用18f2520。
回复

使用道具 举报

发表于 18-12-2007 08:48 PM | 显示全部楼层
原帖由 GuoHui 于 18-12-2007 06:46 PM 发表

这样的把RX和TX接在一起能用吗?如果没有记错的话,pic是用18f2520。

如果把RX和TX接在一起 , 在MCU那里是要用Software USART。

好奇问, 产品是不是用电池操作?
回复

使用道具 举报

 楼主| 发表于 18-12-2007 09:22 PM | 显示全部楼层
原帖由 pic 于 18-12-2007 08:48 PM 发表

如果把RX和TX接在一起 , 在MCU那里是要用Software USART。

好奇问, 产品是不是用电池操作?


嗯…如果是这样的话,电脑端需要delay咯?

这个是用2粒电池操作的,主要的是7.5V,backup是3V。

这个是一个电子的消防员用氧气表。

你如何判断这个产品是用电池操作的呢?

[ 本帖最后由 GuoHui 于 18-12-2007 09:23 PM 编辑 ]
回复

使用道具 举报

发表于 19-12-2007 08:51 AM | 显示全部楼层
原帖由 GuoHui 于 18-12-2007 09:22 PM 发表
嗯…如果是这样的话,电脑端需要delay咯?

不用。


这个是用2粒电池操作的,主要的是7.5V,backup是3V。
这个是一个电子的消防员用氧气表。
你如何判断这个产品是用电池操作的呢?

因为它用低压3.3V。
虽然你没说, 但他最好是用18LF 的PIC, 2V的电就能操作。

3.3V 应用在很多电池操作的仪器, 但在最新的MCU里, 只要~2V 就能操作。
回复

使用道具 举报

 楼主| 发表于 19-12-2007 10:08 AM | 显示全部楼层
原帖由 pic 于 19-12-2007 08:51 AM 发表

不用。


因为它用低压3.3V。
虽然你没说, 但他最好是用18LF 的PIC, 2V的电就能操作。

3.3V 应用在很多电池操作的仪器, 但在最新的MCU里, 只要~2V 就能操作。


哦… 现在我是要test它的communication有没有问题,是用tester test的。

我现在send什么出去,它就receive什么回来,跟这个电路有关系吗?还是我的PC端send了command过后需要放小小的delay?它应该是要回应不同的东西的。
回复

使用道具 举报

发表于 19-12-2007 09:47 PM | 显示全部楼层
原帖由 GuoHui 于 19-12-2007 10:08 AM 发表
哦… 现在我是要test它的communication有没有问题,是用tester test的。

我现在send什么出去,它就receive什么回来,跟这个电路有关系吗?

在R3那里就Echo 回来了。。。


还是我的PC端send了command过后需要放小小的delay?它应该是要回应不同的东西的。1
已经说了, 不需要delay。。。
1。 在J1 的 TX send data 进去, 不要管J1 echo回RX的, 你要看TXRX有没有收到TX send 进去的data。

2。 在TXRX send data 进去, 看J1 RX有没有收到TXRX send 进去的data。

你在Functional test 时, PIC MCU 有放吗?
如是客户的MCU, 就要问他是什么Protocol。

如没有MCU, 你可以放自己的MCU, 程序如下, 你send的data的ASCII会加1, 如你send “A”, PIC return “B”, 如你send “1”, PIC return “2”等等。。。


  1. // Program by PIC@cArI
  2. // 19 Dec 2007
  3. // Echo RS232 data+1 on PIN B0, (Software USART)

  4. #include <18F2520.h>
  5. #FUSES HS, BROWNOUT,  NOLVP, PUT
  6. #use delay(clock=20000000)
  7. #use rs232(baud=9600, xmit=PIN_B0,rcv=PIN_B0)

  8. void main()
  9. {

  10.    while(true)
  11.    {
  12.       if(kbhit())
  13.       {
  14.          putc(getc()+1);
  15.       }
  16.    }

  17. }
复制代码

[ 本帖最后由 pic 于 19-12-2007 09:57 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 19-12-2007 11:28 PM | 显示全部楼层
原帖由 pic 于 19-12-2007 09:47 PM 发表

在R3那里就Echo 回来了。。。


已经说了, 不需要delay。。。
1。 在J1 的 TX send data 进去, 不要管J1 echo回RX的, 你要看TXRX有没有收到TX send 进去的data。

2。 在TXRX send data 进去, 看J1 ...


你的意思就是, TX和RX可能加在一起了?

是customer从英国pre-program的。protocol是9600, none, 8 , 1。

可是我用一个叫Docklight的软体来看comm port I/O,output和input是一样的。

P/S:RS232我还是初学者,可能会问一些让人吐血的问题…请不要见怪。
回复

使用道具 举报


ADVERTISEMENT

发表于 20-12-2007 09:04 AM | 显示全部楼层
原帖由 GuoHui 于 19-12-2007 11:28 PM 发表
你的意思就是, TX和RX可能加在一起了?

对,你看你的电路, R3, 它已经把你的TX 回授(feedback)到RX。


是customer从英国pre-program的。protocol是9600, none, 8 , 1。

9600bps 这个不是Protocol。
Protocol 是通讯协议, 好像你和我说话‘华语’, 我能了解和你沟通, 但如你向我说‘印度语’, 我就不知道你在说什么了。。。(其实内容才是关键)
你要和那个仪器‘沟通’, 你就要用它明白的‘语言’或指令(command)。
这个只有你问customer或英国的设计者, 他才能告诉你, 或有可能他们“不想”告诉你。

你有没有那个产品接PC端的software?
如有, 可以用来测试, 或可以破解它的通讯协议。


P/S:RS232我还是初学者,可能会问一些让人吐血的问题…请不要见怪。

嗯。。。尽管问。。。
回复

使用道具 举报

 楼主| 发表于 20-12-2007 11:47 AM | 显示全部楼层
刚刚customer回复我了,reply会和send加在一起。

我send
05 7B 08 88 00

会得到
05 7B 08 88 00 08 7B 08 00 00 12 9D 00

今天放假,明天再去公司试看。
回复

使用道具 举报

 楼主| 发表于 20-12-2007 11:52 AM | 显示全部楼层
原帖由 pic 于 20-12-2007 09:04 AM 发表

对,你看你的电路, R3, 它已经把你的TX 回授(feedback)到RX。



9600bps 这个不是Protocol。
Protocol 是通讯协议, 好像你和我说话‘华语’, 我能了解和你沟通, 但如你向我说‘印度语’, 我就不 ...


那个docklight其实是一个可以send和receive data到comm port的软件,我们用它来test看communication正不正常。tester的software是我们自己用vb写的,vb program除了test communication外,还需要test某些地方的电压和电流,看是否跟customer给的spec一不一样。
回复

使用道具 举报

发表于 21-12-2007 09:41 AM | 显示全部楼层
原帖由 GuoHui 于 20-12-2007 11:47 AM 发表
刚刚customer回复我了,reply会和send加在一起。

我send
05 7B 08 88 00

会得到
05 7B 08 88 00 08 7B 08 00 00 12 9D 00

今天放假,明天再去公司试看。

这样问题就解决了。。。。

在PIC MCU 的那个 TXRX, 可以透露它接去什么PIN /Port 吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 12-1-2025 06:48 AM , Processed in 0.112761 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表