代码一:

 #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. 【maven】之使用jetty发布web项目

    <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin ...

  2. ASP.NET地址栏form提交安全验证

    以下类可以在web.config中直接配置,可以防范地址栏.表单提交的恶意数据. 安全模块作用: a.针对URL参数验证的功能,防止sql注入 b.针对form表单XSS漏洞的防护功能 c.针对上传文 ...

  3. 很励志的帖子,转来自勉,也反省一下自己写码这几年【奋斗10年,一个.NET程序员从0到拥有5系】

    http://bbs.csdn.net/topics/390833230 想想自己毕业近8年,真正写码也5年.从当初毕业时的拒绝写码,到迫不得已开始写码,是命运也好,是自己的不努力也罢.今天看来,写码 ...

  4. ORA-04031案例一则

    ORA-04031这个错误,几乎每一个专业的DBA都遇到过.这是一个相当严重的错误,Oracle进程在向SGA申请内存时,如果申请失败,则会报这个错误.大部分情况下是在向SGA中的shared poo ...

  5. 【MySQL】性能优化 之 延迟关联

    [背景]  某业务数据库load 报警异常,cpu usr 达到30-40 ,居高不下.使用工具查看数据库正在执行的sql ,排在前面的大部分是: SELECT id, cu_id, name, in ...

  6. autotool相关:AC_ARG_ENABLE的用法

    你可以使用AC_ARG_ENABLE来定义一个命令行选项.这个宏接受三个参数1.flag_base2.该选项的帮助说明3.当configure带该选项运行时所执行的代码,代码中的命令行变量enable ...

  7. javascript 异步编程-setTimeout

    javascript的执行引擎是单线程的,正常情况下是同步编程的模式,即是程序按照代码的顺序从上到下依次顺序执行.只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行.常见的浏览器无 ...

  8. OAF_架构MVC系列2 - Model的概述(概念)

    2014-06-22 Created By BaoXinjian

  9. NeHe OpenGL教程 第二十七课:影子

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  10. web提前做好测试

    1.压力测试,找到极限点和瓶颈,最小化扩容2.消息队列应对高并发的写操作 根据数据大小分成不同队列,保证效率 堵塞队列,压队列机极限处理能力3.主要业务和次要业务分开,当出现异常时保障主要业务,保证系 ...