msp430串口接收调试

发布者:EnigmaticCharm最新更新时间:2020-02-12 来源: eefocus关键字:msp430  串口接收  调试 手机看文章 扫描二维码
随时随地手机看文章

串口调试出错 


串口接收配置需要注意的是开启总中断( __enable_interrupt(); ),不能仅开启串口接收中断。


#include

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

//RS485芯片方向控制

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

void set_rs485_dir(char tx_rx)

{ //1---发送,0接收

 

  if (tx_rx==1)

  {

    P9OUT|=(BIT6+BIT7);

  }

  else

  {

    P9OUT&=~(BIT6+BIT7);

  }

  P9DIR|=(BIT6+BIT7);

}

 

void delay(char num)

{

  while(num--);

}

 

int main(void)

{

  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT

 

  //串口2 初始化

  P9SEL|= BIT4+BIT5;      //对于P5 6,7为模块功能

  P9DIR|=BIT4;

  P9DIR&=~BIT5;

  UCA2CTL1 |= UCSWRST;                      // **Put state machine in reset**

  UCA2CTL1 |= UCSSEL_2;                     // SMCLK

  UCA2BR0 = 109;                             

  UCA2BR1 = 0;                             

  UCA2MCTL |= UCBRS_1 + UCBRF_0;            // Modulation UCBRSx=1, UCBRFx=0

  UCA2CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**

  UCA2IE |= UCRXIE;                         // Enable USCI_A0 RX interrupt

  

  __enable_interrupt();//容易忽略

  

     set_rs485_dir(1);//发送

     delay(3000);

     while (!(UCA2IFG&UCTXIFG));             // USCI_A2 TX buffer ready?

     UCA2TXBUF = 0x55;                  // TX -> RXed character

     delay(3000);

     set_rs485_dir(0);//接收

     delay(3000);

     while(1)

     {

       delay(2000);

     }

}

 

#pragma vector=USCI_A2_VECTOR

__interrupt void USCI_A2_ISR(void)

{

  switch(__even_in_range(UCA2IV,4))

    {

       case 0:break;                             // Vector 0 - no interrupt

       case 2:                                   // Vector 2 - RXIFG

       set_rs485_dir(1);//发送

       delay(30);

       while (!(UCA2IFG&UCTXIFG));               // USCI_A0 TX buffer ready?

       UCA2TXBUF = UCA2RXBUF;                    // TX -> RXed character

       set_rs485_dir(0);//接收

       delay(30);

       break;

       case 4:break;                             // Vector 4 - TXIFG

       default: break;

    }

}

关键字:msp430  串口接收  调试 引用地址:msp430串口接收调试

上一篇:MSP430按键控制串口发送数据
下一篇:MSP-EXP430F5529LP开发板003-定时器库函数

推荐阅读最新更新时间:2024-11-09 16:30

MSP430入门-----总算读懂例程中的用调节DCO频率
//****************************************************************************** // MSP-FET430P140 Demo - Basic Clock, Implement Auto RSEL SW FLL // // Description: Set DCO clock to (Delta)*(4096) using software FLL. DCO clock // is output on P5.5 as SMCLK. DCO clock, which is the selected SMCLK source // for timer_A
[单片机]
MSP430F5438A Timer_B 操作实验
简介: 1,对定时器B的简单介绍 2,对定时器B寄存器的配置 1.模块原理 Timer_B 有比较和捕获模式,这就决定它有三个方面的应用,一.做定时器使用,TAR 计数器不断按照配置的模式进行计数,设置 CCRX 寄存器值,当 TAR 数值达到 CCRX 数值就可以产生一个中断,从而完成一个定时。二.可以作 PWM 输出,这由 CCR0 和 CCRX 共同配置,根据输出模式,产生不同输出波形。三.可以作为捕获使用,当捕获条件产生,TAR 数值会提供给 CCRX,那么可以根据多次捕获的数值计算出捕获信号的频率等。 TB 使用方法与 TA 基本相同,这里不做详细介绍 2.寄存器设置 通过设置位 MCx 来设置 T
[单片机]
<font color='red'>MSP430</font>F5438A Timer_B 操作实验
MSP430FR6989初步学习笔记
建立一个工程 1.新建工程 2.可选择C++或者C或者Empty project,区别在于选择c或c++会生成mian.c或main.cpp 3.选择add group(添加文件夹) 4.然后再在MSP430FR5xx_6xx中添加必要的库文件,也就是在add- add files选择要添加的库文件 我使用的是IAR for msp340 首先下载的软件就会包括库函数,所以不必要再去网上找库函数的资料,库函数的路径 IAR SystemsEmbedded Workbench 8.0430examples 可选择需要添加的,我都添加了进来 工程配置 在工程的options选项里包含头文件的路径,不然找不到路径会
[单片机]
<font color='red'>MSP430</font>FR6989初步学习笔记
MSP430F149流水灯闪烁以及数码管的显示
今天下午写了一个流水灯闪烁的实验,总的来说,不难,因为这块板子集合的电路图没有上一块那么复杂,所以总的来说,还是比较顺手,开始的时候,出现流水灯没有流转的现象,原来是没有加入延时函数,后来经过调整,结果很快就出来了 电路示意图: 示例代码: #include msp430x14x.h #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((long)(CPU_F*(do
[单片机]
<font color='red'>MSP430</font>F149流水灯闪烁以及数码管的显示
MSP430F149的IO口
1 概述 MSP430F149共有6组IO口,每组8bit, IO口的设置包括设置IO功能、方向、输入输出寄存器初值。对IO口不做设置,默认情况下为第一功能,输入模式。 2 常用寄存器 PxDIR 0 输入,1 输出; PxSEL 0 I/O口,1 第二功能; PxOUT,PxIN; PxIES 设置中断触发方式 0上升沿,1下降沿; PxIE 设置中断触发允许0禁止,1允许; PxIFG 中断标志寄存器,需要软件清零。 3 用法 IO口中断: P1,P2口总共有16个IO口均能引发中断,相关寄存器为PXIE(中断允许):0不允许,1允许。PXIES(中断触发岩选择)0上升沿、1下降沿。PXIFG(中断标志寄存器),I0口
[单片机]
MSP430 CCS 支持printf
右键工程 选择属性 我的ccs已经有些是汉化了的汉化教程看这里 CCS 汉化 设置中文 再次编译就不会报printf的错误
[单片机]
<font color='red'>MSP430</font> CCS 支持printf
arm-linux-gdb+gdbserver环境搭建以及远程调试
0) gdb源码下载: http://ftp.gnu.org/gnu/gdb/ 1) 编译arm-linux-gdb 指定交叉编译工具链的位置 export PATH=$PATH:/usr/local/arm/3.4.1/bin 开始配置和编译 $cd gdb-6.6 $./configure --target=arm-linux --prefix=/usr/local/arm/gdb -v $make 中间会出现一些地方编译过去,如 gdb declared with attribute warn_unused_result 检查了下,发现是由于检查太严格了,把 Makefile 里面 -Wall
[单片机]
基于MSP430F149单片机的车体调平装置设计
随着国防技术的发展,根据任务需求,越来越多的军用武器需要随时变更工作地点。为了保证这些军用武器的机动性能,往往以载车为运输载体,如火箭炮这样的大型武器就被安装在载车上。载车到达目的地后,借助平台快速将武器架设调至水平而后工作,工作完成后平台能够快速地撤收、转移。既保证了武器的工作性能,又提高了机动性。 传统上,主要依靠人工手动完成平台的水平度调节,这需要一部分人员手动调节千斤顶,另外一部分人员观察水平仪的水泡位置。这种调平方式费时费力,且精度低、抗倾覆能力差。随着调平时间和调平精度要求的提高,过去的调平方式已远远不能满足实际情况的需要,所需时间短、精度高、抗倾覆能力强的自动调平控制技术应运而生。 在军用方面,自动调平控制系
[单片机]
基于<font color='red'>MSP430</font>F149单片机的车体调平装置设计
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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