代码一:

 #include <msp430x14x.h>
void int_clk()
{
BCSCTL1 &= ~XT2OFF;
BCSCTL2 |= SELM_2 + SELS;
do
{
IFG1 &= ~OFIFG;
for(int i=;i<;i++)
_NOP();
}while((IFG1 & OFIFG)!=);
IFG1 &= ~OFIFG;
}
void int_usart()
{
U0CTL |= SWRST; //复位串口
U0CTL |= CHAR; //8位数据
U0TCTL |= SSEL1; //选择SMCLK
//波特率19200
U0BR1 = 0X01;
U0BR0 = 0XA0;
UMCTL0 = 0XC0; ME1 |= UTXE0 + URXE0; //使能接收和发送
U0CTL &= ~SWRST; //清楚串口复位信号 IE1 |= URXIE0; //使能接收中断
P3SEL |= BIT4 + BIT5;
P3DIR |= BIT4;
}
void sent_byte(unsigned char data)
{
while((IFG1 & UTXIFG0)==);
U0TXBUF = data;
}
#pragma vector=UART0RX_VECTOR
__interrupt void UART0(void)
{
unsigned char data = ;
data = U0RXBUF;
sent_byte(data);
}
int main()
{
WDTCTL = WDTPW + WDTHOLD;
int_clk();
int_usart();
_EINT();
return ;
}

代码二:

 #include <msp430x14x.h>
void int_clk()
{
BCSCTL1 &= XT2OFF;
BCSCTL2 |= SELS + SELM_2;
do
{
IFG1 &= ~OFIFG;
for(int i=;i<;i++)
_NOP();
}while((IFG1 & OFIFG)!=);
IFG1 &= ~OFIFG;
}
void int_usart()
{
U0CTL |= SWRST;
U0CTL |= CHAR;
U0TCTL = SSEL1;
//
U0BR1 = 0X03;
U0BR0 = 0X41;
U0MCTL = 0X00; ME1 |= UTXE0 + URXE0;
U0CTL &= ~SWRST;
IE1 |= URXIE0; P3SEL |= BIT4 + BIT5;
P3DIR |= BIT4;
}
void send_byte(unsigned char data)
{
while((IFG1 & UTXIFG0)==);
U0TXBUF = data;
}
//串口0发送字符串函数
/*void Print_Str(char *s)
{
while(*s != '\0')
{
send_byte(*s++);
}
}
*/
#pragma vector=UART0RX_VECTOR
__interrupt void UART0_RX_ISR(void)
{
unsigned char data;
data = U0RXBUF;
P6OUT = data;
send_byte(data);
}
void main()
{
WDTCTL = WDTPW + WDTHOLD;
P6DIR = 0XFF;
P6OUT = 0XFF;
int_clk();
int_usart();
_EINT();
// Print_Str("hello!\n");
}

MSP430F149学习之路——UART的更多相关文章

  1. 【单片机入门】(三)应用层软件开发的单片机学习之路-----UART串口通讯和c#交互

    引言 在第一章博客中,我们讲了Arduino对Esp32的一个环境配置,以及了解到了常用的一个总线通讯协议,其中有SPI,IIC,UART等,今天我为大家带来UART串口通讯和c#串口进行通讯的一个案 ...

  2. MSP430F149学习之路——AD

    代码一:Timer_A触发转换 #include <msp430x14x.h> void main() { WDTCTL = WDTPW + WDTHOLD; P6SEL |= BIT0; ...

  3. MSP430F149学习之路——蓝牙模块

    注意蓝牙模块的接法! #include <msp430x14x.h> ]; ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SE ...

  4. MSP430F149学习之路——SPI

    代码一: //****************************************************************************** //Description: ...

  5. MSP430F149学习之路——比较器Comparaor_A

    代码一: #include <msp430x14x.h> ; void int_clk() { BCSCTL1 &= ~XT2OFF; BCSCTL2 |= SELM_2 + SE ...

  6. MSP430F149学习之路——PWM信号

    代码一: /******************************* 程序功能:ACLK=32768Hz PWM波 T=512/32768 占空比75% ******************** ...

  7. MSP430F149学习之路——捕获/比较模式

    1.捕获模式 #include <msp430x14x.h> unsigned ,last1=; unsigned ,j=; void mian(void) { WDTCTL = WDTP ...

  8. MSP430F149学习之路——时钟1

    1.看门狗产生方波 #include <msp430x14x.h> void main() { WDTCTL = WDT_MDLY_32; IE1 |= WDTIE; P1DIR |= B ...

  9. MSP430F149学习之路——时钟2

    代码一: /************************** 功能:LED每隔1秒闪烁一次 ****************************/ #include <msp430x14 ...

随机推荐

  1. android学习笔记九——RatingBar

    RatingBar==>星级评分条 RatingBar和SeekBar十分相似,它们甚至有相同的父类:AbsSeekBar.两者都允许用户通过拖动来改变进度: 两者最大的区别在于RatingBa ...

  2. 【MySQL】数据行长度的一些限制

    今天开发在导入数据的时候报一个错误: Row size too large. The maximum row size for the used table type, not counting BL ...

  3. java工程师分享:我是如何自学成才的?

    原文:http://www.java800.com/peixun-79062115.html 我是10年河南工业大学的毕业生,当时我们专业许多学生都去报了java培训机构,去达内的都不少.我也想去培训 ...

  4. JavaScript-获得当前时间

    js获得当前时间 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位, ...

  5. Spark参数配置说明

    1  修改$SPARK_HOME/conf目录下的spark-defaults.conf文件 添加以下配置项 spark.sql.hive.convertMetastoreParquet       ...

  6. DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)

    2014-08-07 Created By BaoXinjian

  7. OAF_EO系列2 - Validation数据校验验证机制(概念)

    2014-06-12 Created By BaoXinjian

  8. VMWare虚拟机下RedHat 9.0linux的网络设置

    VMWare虚拟机下安装的RedHat 9.0 linux有三种方式实现上网,桥接.nat.host-only.本来想用桥接方式的,可总是因为配置网络出现问题而不能上网,还把 sygate4.5(代理 ...

  9. VMware和CentOS7安装和配置

    准备工作: 下载: 1.VMware-workstation-full-10.0.0-1295980 2.CentOS-7-x86_64-DVD-1511.iso 安装: 1.VMware-works ...

  10. 编写一个程序对Largest函数进行测试,找出一组数据的最大值

    源程序代码: import java.util.Scanner; public class findmax { public static void main(String[] args) { // ...