msp430f149单片机串口C程序

2018-07-11 20:55:52编辑:什么鱼 关键字:msp430f149  单片机  串口

msp430f149单片机简介:

MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。

msp430f149是基于闪存或 ROM 的超低功耗 MCU,提供 8MIPS,工作电压为 1.8V - 3.6V,具有高达 60KB 的闪存和各种高性能模拟及智能数字外设。

超低功耗低至:

0.1μA RAM (保持模式) 0.7μA (实时时钟模式) 200μA/MIPS (工作模式) 在 6μs 之内快速从待机模式唤醒

器件参数:

闪存选项:1KB – 60KB ROM 选项:1KB – 16KB RAM 选项:512B – 10KB GPIO 选项:14、22、48 引脚 ADC 选项:10 和 12 位斜率 SAR 其它集成外设:模拟比较器、DMA、硬件乘法器、SVS、12 位 DAC

(以上资料摘自于百度百科)

C语言程序(采用IAR for 430):

#include  

typedef unsigned char uchar;

typedef unsigned int uint;

 

uchar  RecBuf[256];

uchar  Windex;

uchar  Rindex; 

 

void Send1Char(uchar sendchar);

void PutString(uchar *ptr);

void com_init();//串口初始化

 

void com_init()

{

    unsigned int i;

    /*下面六行程序关闭所有的IO口*/

    P1DIR = 0XFF;P1OUT = 0XFF;

    P2DIR = 0XFF;P2OUT = 0XFF;

    P3DIR = 0XFF;P3OUT = 0XFF;

    P4DIR = 0XFF;P4OUT = 0XFF;

    P5DIR = 0XFF;P5OUT = 0XFF;

    P6DIR = 0XFF;P6OUT = 0XFF;

  

    WDTCTL = WDTPW + WDTHOLD;                 // 关闭看门狗

    P6DIR |= BIT2;P6OUT |= BIT2;              //关闭电平转换

    P6DIR |= BIT7;P6OUT &=~ BIT7;              //关闭电平转换

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

    

    BCSCTL1 &= ~XT2OFF;                       // XT2on

    do

    {

    IFG1 &= ~OFIFG;                           // Clear OSCFault flag

    for (i = 0xFF; i > 0; i--);               // Time for flag to set

    }

    while ((IFG1 & OFIFG));                   // OSCFault flag still set?

    BCSCTL2 |= SELM_2 + SELS;                 // MCLK = SMCLK = XT2 (safe)

    

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

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

    UTCTL0 |= SSEL1;                          // UCLK = SMCLK

    UBR00 = 0x45;                             // 波特率115200

    UBR10 = 0x00;                             //

    UMCTL0 = 0x00;                            // Modulation

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

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

    _EINT();                                  //打开全局中断

    

    Windex = 0;

    Rindex = 0;

}

 

 

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

函数名称:UART0_RXISR

功    能:UART0的接收中断服务函数,在这里唤醒

          CPU,使它退出低功耗模式

参    数:无

返回值  :无

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

#pragma vector = UART0RX_VECTOR

__interrupt void UART0_RXISR(void)

{

    if(RXBUF0 == 0x0d)   LPM1_EXIT;

    else

    {

        RecBuf[Windex++] = RXBUF0;

        Windex &= 0x7f;//when Windex=0x80,changed to 0x00;

    }

}

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

函数名称:Send1Char

功    能:向PC机发送一个字符

参    数:sendchar--要发送的字符

返回值  :无

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

void Send1Char(uchar sendchar)

{

      while (!(IFG1 & UTXIFG0));    //等待发送寄存器为空         

      TXBUF0 = sendchar;  

}

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

函数名称:PutSting

功    能:向PC机发送字符串

参    数:ptr--指向发送字符串的指针

返回值  :无

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

void PutString(uchar *ptr)

{

      while(*ptr != '\0')

      {

            Send1Char(*ptr++);                     // 发送数据

      }

      while (!(IFG1 & UTXIFG0));

      TXBUF0 = 0x0d;  

      while (!(IFG1 & UTXIFG0));

      TXBUF0 = 0x0a;                              //发送换行指令

}

 

 

/********************主函数********************/

void main(void)

{

 

    com_init();

    

    PutString("welcome to my blog");

    PutString("I am meizumx4!");

    

    while(1)

    {

        LPM1;

    }

}


-------------------------------------------------------

通信格式:N.8.1,  115200

无校验,8个数据位,1个停止位,波特率115200

------------------------------------------------------


关键字:msp430f149  单片机  串口

来源: eefocus 引用地址:http://www.eeworld.com.cn/mcu/2018/ic-news071140251.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:msp430单片机实现常按键和短按键加去抖功能
下一篇:MSP430单片机USART串口发送字符和字符串

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430F149单片机实现uart数据接收中断

******************************************************/#include  <msp430x14x.h>typedef unsigned char uchar;typedef unsigned int  uint;extern void Delays(void);extern uchar GetChar(void);extern void PutChar(uchar c);extern void PutString(uchar *ptr);extern void InitUART(void);static uchar pstr = 'A';/********************主函数
发表于 2018-07-11 20:53:31

msp430f149波特率设置

TI MSP430系列单片机,usart模块的波特率值设定是通过以下三个寄存器决定的:UxBR0,UxBR1,UxMCTL 波特率=BRCLK/N ,主要是计算出N。BRCLK:时钟源,可以通过寄存器设定何为时钟源; 通过寄存器UCAxCTL1的SSEL两位选择,01:ACLK,02:SMCLKN:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR0为整数部分,UxMCTL为设定小数部分,其中 UxBR1为高位,UxBR0为低位,两者结合起来为一     个16位的字。举例说明:波特率=115200,时钟源=8MHz ,为外部
发表于 2018-05-05 20:38:48

MSP430F149小系统开发板实现RS232串口通信

。******************************************************/#include  <msp430x14x.h>typedef unsigned char uchar;typedef unsigned int  uint;void Delays(void);void PutString(uchar *ptr);/********************主函数**********************/void main(void){    uchar *tishi = " MCU sends 0~127 to PC and the\             
发表于 2018-05-05 20:28:40

基于MSP430F5438A的ESP8266模块STA模式程序调试成功

ESP8266模块STA模式程序,主控芯片为MSP430F5438A,开发环境为IARMSP430F5438A通过串口,以115200的波特率与ESP8266通信,对ESP8266进行配置,主要完成室内WiFi的连接配置,和连接远端服务器的配置,远端服务器采用USR-TCP232-Test软件进行模拟,USR-TCP232-Test软件打开时自动显示你的电脑IP和所用的端口号,将其直接写入程序中的需要连接的IP和端口号即可。配置完成后可以实现以STA方式与远端服务器进行双向数据传输。在串口发送数据时,以字符型(“AT”)发送出去,指令发送之后,马上发送\r\n,表示回车换行,完成一条指令的发送操作。硬件上,在ESP8266模块上电
发表于 2018-05-05 20:27:38

个人总结之MSP430F5510串口通讯(485)

:  UART 模式  脉冲调整的 IRDA 通信  自动波特率检测的 LIN 通信  SPI 模式USCI_Bx 模块支持:  I2C 模式  SPI 模式2. USCI介绍:UART 在异步模式中,USCI_Ax 模块是通过两个外部引脚连接 MSP430 到外部系统,分别是 UCAXRXD和 UCAXTXD。当 UCSYNC位被清零时 
发表于 2018-05-05 20:25:46

51单片机实现LED流水灯(数组方式和位运算方式)

/* 名称:51单片机实现LED流水灯(数组方式和位运算方式)说明:今天又重新开始系统的学习51了,LED就算个开端吧。 要注意两点: 1、sfr和sbit是C语言扩展出来的关键字。其中sfr用于对特殊功能寄存器进行声明,sbit用于对某些特殊功能寄存器的某位进行声明。这里和宏定义很相似,但是不能用宏定义进行替换,对于前者是因为51单片机的寄存器存在于内部空间0x80-0xFF,这空间属于直接寻址,51特殊功能寄存只能直接寻址,不能间接寻址。如果用宏定义的话,在翻译成汇编时就会认为是通过总线访问对应的外部地址了。对于后者,sbit是定义一个标志位,也叫位变量。而类似于#define key1 P3
发表于 2018-07-21 13:08:22

小广播

何立民专栏

单片机及嵌入式宝典

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