MSP430F149的串口RS232接口

发布者:WhisperingWaves最新更新时间:2015-09-17 来源: eefocus关键字:MSP430F149  串口  RS232接口 手机看文章 扫描二维码
随时随地手机看文章
1、      概述

     具有同步串口模式(SPI),异步通信模式(UART)。

作异步通信时,P3.4,P3.5,P3.6,P3.7第二功能分别是UTXD0, URXD0, UTXD1, UTXD2

2、      使用方法概述

2.1 程序架构

配置寄存器设置工作模式

{

设置IO口为第二功能作为串口收发引脚;

使能串口收发功能;

选择每帧数据位为7或8;

选择波特率发生器时钟源;

配置波特率(查表得出值再配置UxBR0, UxBR1,UxMCTL);

软件清除串口复位位(SWRST);

若采用中断方式则使能接受、发送中断

}

   编写接受/发送程序,可采用查询方式或中断方式。同51单片机不同的是,UTXIFG,URXIF在发送下一个数据和读取数据时被自动清零了,无需软件清除。

2.2 细节描述

   配置波特率时用户手册上有速查表,如下

设置波特率时要选择合适的时钟源。对于较低的波特率(9600b/s及以下),可选ACLK,大于9600要选用SMCLK,因为串口波特率发生器分频系数要求大于3。UxBR0(低)UxBR1(高)值的计算式为:选择的时钟源/波特率,再取整。为了精确,MSP430设置了小数分频功能,通过UxMCTL来完成。

3、相关寄存器

1.ME1, Module Enable Register 1

UTXE0 Bit 7 USART0 transmit enable. This bit enables the transmitter for USART0.

0 Module not enabled

1 Module enabled

URXE0 Bit 6 USART0 receive enable. This bit enables the receiver for USART0.

0 Module not enabled

1 Module enabled

2.UxCTL(UCTLx), USART Control Register

CHAR Bit 4 Character length. Selects 7-bit or 8-bit character length.

0 7-bit data

1 8-bit data

SWRST Bit 0 Software reset enable

0 Disabled. USART reset released for operation

1 Enabled. USART logic held in reset state

3.UxTCTL(UTCTLx), USART Transmit Control Register

SSELx Bits

5-4

Source select. These bits select the BRCLK source clock.

00 UCLKI

01 ACLK

10 SMCLK

11 SMCLK

4.UxBR0, USART Baud Rate Control Register 0,低8位

  UxBR1, USART Baud Rate Control Register 1,高8位

5. UxMCTL, USART Modulation Control Register

UxMCTLx Bits

7−0

Modulation bits. These bits select the modulation for BRCLK.

6.IFG1, Interrupt Flag Register 1

UTXIFG0 Bit 7 USART0 transmit interrupt flag. UTXIFG0 is set when U0TXBUF is empty.

0 No interrupt pending

1 Interrupt pending

URXIFG0 Bit 6 USART0 receive interrupt flag. URXIFG0 is set when U0RXBUF has received

a complete character.

0 No interrupt pending

1 Interrupt pending

7.IE1, Interrupt Enable Register 1

UTXIE0 Bit 7 USART0 transmit interrupt enable. This bit enables the UTXIFG0 interrupt.

0 Interrupt not enabled

1 Interrupt enabled

URXIE0 Bit 6 USART0 receive interrupt enable. This bit enables the URXIFG0 interrupt.

0 Interrupt not enabled

1 Interrupt enabled

4、实例

4.1 配置为N.8.1,9600,查询方式收发数据

/*******************************************

函数名称:InitUART

功    能:初始化UART端口

参    数:无

返回值  :无

********************************************/

void InitUART(void)

{

    P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD

    ME1 |= URXE0 + UTXE0;                     // Enable USART0 T/RXD

    UCTL0 |= CHAR;                            // 8-bit character

    UTCTL0 |= SSEL0;                          // UCLK = ACLK

    UBR00 = 0x03;                             // 32k/9600 - 3.41

    UBR10 = 0x00;                             //

    UMCTL0 = 0x4A;                            // Modulation

    UCTL0 &= ~SWRST;                          // Initialize USART state machine

}

收数据

if(IFG1 & URXIFG0) Disp1Char(U0RXBUF); //如果收到字符

发数据

while (!(IFG1 & UTXIFG0)); TXBUF0 =Char;

4.2 配置接收数据中断方式

  P3SEL |= 0x30;                            // 选择P3.4和P3.5做UART通信端口

    ME1 |= UTXE0 + URXE0;                     // 使能USART0的发送和接受

    UCTL0 |= CHAR;                            // 选择8位字符

    UTCTL0 |= SSEL0;                          // UCLK = ACLK

    UBR00 = 0x03;                             // 波特率9600

    UBR10 = 0x00;                             //

    UMCTL0 = 0x4A;                            // Modulation

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

IE1 |= URXIE0;                            // 使能USART0的接收中断

_EINT();

中断服务函数

#pragma vector = UART0RX_VECTOR

__interrupt void UART0_RXISR(void)

{  }

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

上一篇:MSP430F149的串口RS485接口
下一篇:MSP430F149的IO口

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

一种微型存储测试系统的设计
在空间受限、环境恶劣和无法实时传输数据的情况下,传统测试技术受到很大限制,必须使用存储测试方法。该方法是在不影响被测对象或影响在允许范围内的情况下,将微型存储测试系统置入被测体内,现场实时完成信息的快速采集与存储,并回收存储器,由计算机处理,再现被测信息的一种动态测试技术。本文设计的微型存储测试系统是基于MSP430F149单片机,结合大容量串行FLASH存储器Multimedia Card(MMC),通过对单片机内部资源的优化利用、外设的开发、采样与存储策略设计,实现了系统的微型化、低功耗、多路数据采集和大数据量本地存储设计。针对该系统开发了基于LabWindows/CVI的专用测试平台,用于对收回数据进行分析处理,有效解决了在
[测试测量]
一种微型存储测试系统的设计
单片机串口通信的设计
  1 引言   随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。现在组态软件繁多,比如KingVieW(组态王)、MCGS、WinCC等。KingView软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。由于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成本。而单片机接口丰富,与A/D转换模块组合可以完成相同的工作,并且系统可靠、成本低。   2 组态王与单片机的串口通讯方法   目前,组态王与单片机的通信多是通过动态数
[单片机]
单片机<font color='red'>串口</font>通信的设计
AVR串口下载线DIY
很多朋友都遇到过并口损坏的时候,这时并口下载线就无用武之地了,其实,对于台式机来说多数都是并口插座引脚对地的小电容漏电的原因,直接去掉即可,当然也有主板上串并口芯片损坏的。 而USB接口的下载线制作很麻烦,这里介绍一种串口的AVR下载线,也非常的好用,速度较快。源码测试正确。 软件用AVR STUDIO 熔丝位设置 FUSE:L=BF,H=C9 BOD打开设成2.7V,防止EEPROM损坏,设成2.7V是为了适应3.3V或5V供电。3.3V供电时要用MAX3232。 固件: ourdev_432579.rar 使用方法: 所有元器件安装好后,将设置开关扳到“自编程”位置,用并口编程器和此板连接好,编程后再把设置开关扳
[单片机]
AVR<font color='red'>串口</font>下载线DIY
STM32多串口printf函数
1.配置usart2的串口配置,gpio,rcc enable,跟上面类似 2.勾选usb micro lib,跟上面类似 3.添加头文件#include stdarg.h ,编写USART2的printf函数 (1)hal库 /* USART1专用的printf函数 在usart.c中添加下列函数,还要添加申明头文件#include stdarg.h , #include stdio.h //支持printf函数 USART1_printf(“abcd”)用USART2发送字符abcd */ //hal库自定义串口printf函数 void printf2(char * fmt,…) { char buffer ; uint
[单片机]
stm325个串口的配置函数 STM32串口如何发送数据
5个串口的配置函数和收发数据函数代码: #include “stm32f10x.h” #include “misc.h” #include “stm32f10x_gpio.h” #include “stm32f10x_usart.h” void USART1_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE );
[单片机]
stm325个<font color='red'>串口</font>的配置函数 STM32<font color='red'>串口</font>如何发送数据
51单片机串口工作方式O在扩展并行输出口中的应用
  一、系统工作原理      下图是一款1分钟-24小时定时时间可调的时间控制器,其印制电路板如右图所示。该控制器以AT89C2051单片机为核心,采用12MHz晶振,用内部定时器TO产生5ms时钟信号,由软件处理成分钟、小时段码数据,从串口RXD(P3.0)、TXD(P3.1)经IC2(74HC164)进行串/并转换后,送四位共阳极数码管Ul~U4的a~h端。显示采用动态扫描方式,P14~P1.7分别用作小时十位U1、个位U2,分钟十位U3、个位U4的位选,74HC04用作数码管的位驱动。U2的小数点(h段)用作秒闪。控制器以5s为一个显示周期,前3s显示已走时间,后2s显示剩余时间。显示剩余时间时,发光二极管LED1点亮。S
[单片机]
51单片机<font color='red'>串口</font>工作方式O在扩展并行输出口中的应用
扒一扒单片机串口IAP原理
一、什么是IAP? IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 在重新编程过程中可以使用任意类型的通信协议,如UART、I2S、SPI等。这篇笔记分享的是使用UART方式IAP。 二、串口IAP实验 先理一理流程(本实验是以STM32F103ZET6为例): 1、实验说明 做这个实验需要准备两个keil工程,一个工程用于编写IAP程序,另一个工程用于编写我们的应用程序(要实现某些功能的程序),这里我们以一个点灯程序为例。最终,两份工程编译
[单片机]
高性能nanoDAC AD5611的原理及应用
概述   AD5611是一款易控制、小尺寸、低功耗的10位DAC,在5V时的最大工作电流为100μA,并保证有单调的性能。在节电模式下,AD5611工作电压为3V时的功耗电流小于100nA,芯片还可通过软件选择输出负载。AD5611利用通用三线串口将时钟频率上升到30MHz,同时与SPI、QSPI、MICROWIRE、DSP等接口标准兼容。AD5611的基准电压源来自电源输入,因此获得了很宽的动态输出范围,该部分同时合并了加电复位电路,确保无输入信号时DAC的输出端电平始终保持为0V。AD5611具有轨到轨输出缓冲放大器,可实现0.5V/μs的转换速率,还具有同步中断控制功能。   由于以上这些特点,使AD5611很适合作
[模拟电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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