Chinaunix首页 | 论坛 | 博客
  • 博客访问: 186227
  • 博文数量: 50
  • 博客积分: 2567
  • 博客等级: 少校
  • 技术积分: 495
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-14 10:44
文章分类

全部博文(50)

文章存档

2011年(3)

2010年(29)

2009年(11)

2008年(7)

我的朋友

分类: 嵌入式

2010-03-06 11:47:13

一直不知道怎么让我的无线龙的cc2430模块的UART与计算机串口连接进行通信,以为只要将UART的对应管脚(接受、发送、地)和计算机串口(9针,235管脚)对应连接起来即可。其实这是打错特错的,原因是电平不匹配。计算机串口的电压规定是:

TxDRxD上:

  逻辑1(MARK)=-3V-15V

  逻辑0(SPACE)=+3+15V

  在RTSCTSDSRDTRDCD等控制线上:

  信号有效(接通,ON状态,正电压)=+3V+15V

  信号无效(断开,OFF状态,负电压)=-3V-15V

因此必须要做一个板子,将电压提高。可选的片子有Max232,Max3232,等。前者需要给片子提供5v电源,后者只需要3v。我手上只有Max232和可调电源就选前者了。另外发现我的一个单片机用的是USB提供电源,发现它用的是红线和白线,一测量果然是5v,于是我也是用USB线来取电压。具体制作过程如下:

1):画好电路图:

 

2)左侧是连接计算机的RS232头,右侧是我的cc2430开发板的UART端,中间部分是我要做的转换板。RS232串口的管脚定义为:

         1DCD 载波检测

  2 RXD Receive Data 接收数据

  3 TXD Transmit Data 发送数据

  4 DTR Data Terminal Ready 数据终端准备

  5 GND System Ground 接地

  6 DSR Data Set Ready 数据准备完成

  7 RTS Request to Send 请求发送

  8 CTS Clear to Send 清除发送

9 RI Ring Indicator 振铃提示

只需要将2(接受)3(发送)5()Max232连接即可。

3)无线开发板上的UART定义如图右侧,其中的Vcc是电池提供的3v电压,因此不能用这个电源提供给RS232RS232Vcc输入要求是5v),因此该管脚不用理会;将UARTRxDTxDMax232对应管脚相连。底线最后共地。

4)给RS232的其他管脚连上电容,如图。然后用USB线给RS232供电。USB连接线的定义为:

黑:GND

白:DDM

绿:DDP

红:VCC

插在电脑上 的一头的定义(画有线纹 一边向上,插口对着自已):

1GND

2DDP

2DDM

3VCC

这么看来应该用红线和黑线,但是我用的是红线和白线最后也能够正常通信。上图的+5vUSB的白线连接。最后是共地的问题,即计算机串口、转换板(RS232)、单片机UARTGND需要共地,即连接在一起(我理解的是:最后还是公用了单片机开发板上的GND

插上USB给转换板供电,转换板一端与计算机串口连接,一端与cc2430开发板UART连接。当你写程序向UART写入数据后,打开串口调试助手设置正确的参数(根据你的程序),就可以收发数据了。我的例子演示程序,无线读取温度、光照数据并在串口中显示没有问题,呵呵!

 

附:

RS232简介:

MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。
内部结构基本可分三个部分:
第一部分是电荷泵电路。由123456脚和4只电容构成。功能是产生+12v-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7891011121314脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8
脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS
数据从T1INT2IN输入转换成RS-232数据从T1OUTT2OUT送到电脑DP9插头;DP9插头的RS-232数据从 R1INR2IN输入转换成TTL/CMOS数据后从R1OUTR2OUT输出。
第三部分是供电。15DNG16VCC+5v)。

阅读(6673) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~