MSP430F149的串口RS485接口

发布者:小熊掌心最新更新时间:2015-09-17 来源: eefocus关键字:MSP430F149  串口  RS485接口 手机看文章 扫描二维码
随时随地手机看文章
一、简述

    RS485通信基本原理和使用方法同RS232,不同点如下。

RS232接口只能实现点对点的通信方式,但这种方式不能实现联网功能,便出现了RS485解决了这个问题。RS485采用差分信号负逻辑,+2V~+6V表示“1”,- 6V~- 2V表示“0”。双机通信时只需A-A,B-B连接。

硬件电路一般采用SN65176等RS485电平转换芯片。与MCU相连时有三个引脚:DE(RE同DE连在一起),DI(接受引脚),RO(发送引脚)。MCU发送一帧信号时,要先使能DE=1;接收信号前要先使能DE=0(即RE=0)。

二、实例

2.1 发送字符8.N.1.2400

#define DRE_out   P3DIR |= BIT3 //连接485芯片的DE,RE端口的IO设置为输出状态

#define DE        P3OUT |= BIT3     //设置485芯片处于发送状态

void Set_UART1(void)

{

    P3SEL |= 0xC0;                         //将P3.6,P3.7选做UART1的通信端口

    ME2 |= UTXE1 + URXE1;                     //使能USART1的TXD和RXD

    UCTL1 |= CHAR;                            //选择8-bit字符

    UTCTL1 |= SSEL0;                          //驱动时钟选择ACLK

    UBR01 = 0x0D;                             //波特率2400

    UBR11 = 0x00;

    UMCTL1 = 0x6B;                            //调整

    UCTL1 &= ~SWRST;                          //初始化UART状态机

}

main

{

    DRE_out;

    DE;

    Set_UART1();

   

    TXDATA = 0X30;

    TXBUF1 = TXDATA;                          //这里可直接赋值传送固定的数据

while(!(IFG2 & UTXIFG1));               //等待发送结束

……

 }

2.2 中断函数接收字符8.N.1.2400

void Set_UART1(void)

{

    P3SEL |= 0xC0;                         //将P3.6,P3.7选做UART1的通信端口

    ME2 |= UTXE1 + URXE1;                     //使能USART1的TXD和RXD

    UCTL1 |= CHAR;                            //选择8-bit字符

    UTCTL1 |= SSEL0;                          //驱动时钟选择ACLK

    UBR01 = 0x0D;                             //波特率2400

    UBR11 = 0x00;

    UMCTL1 = 0x6B;                            //调整

    UCTL1 &= ~SWRST;                          //初始化UART状态机

    IE2 |= URXIE1;                            //使能UART1接收中断

}

#pragma vector=UART1RX_VECTOR

__interrupt void UART1_RX (void)

{

    Disp1Char(pX++,pY,RXBUF1);

    if(pX == 16)

    {

      pX = 0;

      pY ^= 1;

    }

}

关键字:MSP430F149  串口  RS485接口 引用地址:MSP430F149的串口RS485接口

上一篇:开关电源无模型控制的研究
下一篇:MSP430F149的串口RS232接口

推荐阅读最新更新时间:2024-03-16 14:32

STM32使用串口的必备操作
从图中可以看出,这两个引脚主功能是用来做普通的io口,复用模式下用作串口1. 所以,上电初始化的时候必须开启复用功能时钟。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
[单片机]
STM32使用<font color='red'>串口</font>的必备操作
AVR128单片机最小系统串口,外部中断,跑马灯,uCOS-II移植
实验名称:串口通信实验 功能描述:计算机通过串口向开发板发送数据,开发板将数据原样送回。 实验目的:学习串口通信 实验说明:MCU--M128 内部8M晶振 连接方式:利用串口线将开发板和计算机相连。 单片机源程序如下: /************************************************ 文件:sio.c 用途:结构化串口通信程序 ************************************************/ #include config.h #if USEUART0 siocirqueue RTbuf_UART0; #endif #if USEUART1
[单片机]
stm8s003中串口中断问题
最近在写了一段串口的调试代码,但是遇见一些无语的问题。具体的就是一进入调试界面就UART1的TC位就被置1,如图所示。因为想用串口发送完成,后触发中断,结果就是一直处于中断中,查看芯片资料,发现要先读UART_SR位,再写UART_DR位,才能清零,结果发现,这简直就是扯蛋~你会发现读取UART_SR后再写入UART_DR位就会发送一个字节的数据,完成后,又会导致TC位置1,这就是个死循环!所以感觉ST公司就默认它是1了。 发送完,产生中断也就是死循环了。
[单片机]
stm8s003中<font color='red'>串口</font>中断问题
西门子PLC串口通讯方法分析
1、 RS485串口通信 第三方设备大部分支持,西门子S7  PLC可以通过选择自由口通信模式控制串口通信。最简单的情况是只用发送指令(XMT)向打印机或者变频器等第三方设备发送信息。不管任何情况,都必须通过S7  PLC编写程序实现。  当选择了自由口模式,用户可以通过发送指令(XMT)、接收指令(RCV)、发送中断、接收中断来控制通信口的操作。  2、        PPI通信          PPI协议是S7-200CPU最基本的通信方式,通过原来自身的端口(PORT0或PORT1)就可以实现通信,是S7-200  CPU默认的通信方式。  PPI是一种主-从协议通信,主-从站在一个令牌环网中。在CPU内用户网络读写
[嵌入式]
串口设备的CAN总线方式远距离解决方案
CAN总线是ISO国际标准化的串行通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达lMbps。现在,CAN的高性能和可靠性已被认同,并被广泛地应用于工业 自动化 、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供强而有力的技术支持。 CAN属于工业现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性。 工业计算机PC多为串口接口,在实际布线使用中
[嵌入式]
嵌入式系统的USB虚拟串口设计
   引 言:   现代嵌入式系统中,异步串行通信接口往往作为标准外设出现在单片机和嵌入式系统中。但是随着个人计算机通用外围设备越来越少地使用串口,串口正在逐渐从个人计算机特别是便携式电脑上消失。于是嵌入式开发人员常常发现自己新买来的计算机上没有串口,或者出现调试现场用户的计算机没有串口的尴尬局面。相反,现在的个人计算机普遍拥有4个以上的USB接口,能不能使用USB接口代替串口,完成PC机和嵌入式系统的通信呢?   1、 USB虚拟串口代替物理串口的可行性   首先,越来越多带USB接口的器件涌现出来,如带USB接口的单片机,或独立的USB接口器件,而且这些器件的成本已经很接近于使用RS232电平转换芯片所带来的成本。 ?
[嵌入式]
TQ210——S5PV210串口通信
1、串行与并行通信 串行通道中,有效信息被编码后串行的从单根传输线上传送出去。譬如发送ASCII字符’a’,我们可以将’a’对应的ASCII码97(0x61)分作8个bit在传输线上顺序依次传输。 与串行传输相对应的是并行传输,并行传输一般有多根并列的传输线可以同时传输多个bit数据。譬如8线的并行传输,可以同时传输8个比特。因此在线速相同的情况下并行传输效率更高,但同时布线成本更高。 串行硬件接口简单,只需要 3 根线:一是底线,二是发送,三是接收。 UART 使用标准的 TTL/CMOS 逻辑电平(0~5V)来表示数据,用 1 表示高 电平,用 0 表示低电平,为了增强数据的抗干扰能力、提高传输距离,通常将 TTL
[单片机]
TQ210——S5PV210<font color='red'>串口</font>通信
51单片机的串口通信原理
一、并行和串行通信方式 通信有并行和串行两种通信方式。在单片机系统以及现代单片机测控系统中信息交换多采用串行通信方式。 1、并行通信方式 并行通信通常是将数据字节的各位用多条数据线同时进行传送,每一位数据都需要一条传输线。如下图所示,8位数据总线的通信系统,一次传送8位数据(1字节),需要8条数据线。还需要一条信号线和若干控制信号线,这种方式仅适合短距离的数据传输。 2、串行通信方式 串行通信方式是将数据字节分为一位一位的形式在一条传输线上逐个传输,此时只需要一条数据线,外加一条公共信号地线和若干控制信号线。因为一次只能传输一位,所以1字节的数据至少要分8位才能传输完毕。如下图所示 串行通信的必要过程是:发送时把并行数据变
[单片机]
51单片机的<font color='red'>串口</font>通信原理
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved