msp430f5529串口通信

2020-02-12来源: eefocus关键字:msp430f5529  串口通信

调了一天,终于通了。


这个板子有点坑人,看引脚功能图UART_RXTX是P3.4P3.5,结果调了半天都不通,上网查了很久才知道USB的串口是P4.4P4.5。


对于我这种初学者来说,要走的路还很长呀!


#include


void delay(int ms)        //延时函数

{

for(int i=0;i

for(int j=0;j<240;j++);

}


void send_buf(unsigned char *ptr)    //发送字符串

{

while(*ptr != '')

{

while(!(UCA1IFG & UCTXIFG));

UCA1TXBUF = *ptr;

ptr++;

delay(50);

}

}


void main(void)

{

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

P4DIR |= BIT7;                               //初始化LED


//串口初始化

P4SEL    |=  BIT4+BIT5 ;                // P5.6,7 = USCI_A1 TXD/RXD

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

    UCA1CTL1 |=  UCSSEL_1;                     // ACLK

    UCA1BR0   =  0x03;                        // 32768Hz 9600 波特率为9600

    UCA1BR1   =  0x00;                        // 32768Hz 9600

    UCA1MCTL |=  UCBRS_3 + UCBRF_0;           // Modulation UCBRSx=1, UCBRFx=0

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

    UCA1IE   |=  UCRXIE;                      // Enable USCI_A1 RX interrupt 使能中断

         

         //S2

P2IE |= BIT;

P2IES |= BIT1;

P2IFG &= ~ BIT1;

P2REN |= BIT1;

P2OUT |= BIT1;

_EINT();                                               //中断使能


send_buf("串口通信rn");

while(1)

{

;

}

}


#pragma vector = USCI_A1_VECTOR

__interrupt void USCI_ISR()

{

switch(_even_in_range(UCA1IV,4))

{

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

    case 2:                                   // Vector 2 - RXIFG

        UCA1TXBUF = UCA1RXBUF;                // 发送接收到的数据

                                              // 如需对发送信息进行处理修改此处

        break;

    case 4:break;                             // Vector 4 - TXIFG

    default: break;

}

}


#pragma vector = PORT2_VECTOR

__interrupt void P2_ISR()

{

if(P2IFG & BIT1)

{

while((P2IN & BIT1)==0);

P4OUT ^= BIT7;

send_buf("Pressedrn");

}

P2IFG &=~ BIT1;

}

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

上一篇:基于msp430G2553的低频方波频率、占空比、峰峰值测量函数
下一篇:MSP430按键控制串口发送数据

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

推荐阅读

MSP430F1612 第一个程序,点亮一个LED灯
I/O操作MSP430有6组IO端口,其中P1和P2具有中断功能,其他端口不具备中断功能。而点亮一个LED灯只需要控制一个引脚的高低电平即可。这里不需要用到中断功能。那在这里,我们编码涉及的寄存器只有4个,分别是PxIN、PxOUT、PxDIR和PxSEL。而且MSP430F1612的IO功能并不需要配置时钟,所以整个程序只需要配置4个IO端口的寄存器和看门狗寄存器。对4个寄存器的描述分别如下:PxSEL寄存器中的每一个位用于选择该引脚是使用外设功能还是GPIO功能.Bit = 0:选择IO功能;Bit = 1:选择外设功能例如:P4SEL |= 0x0080;    //P4.7选择外设功能,0000
发表于 2020-02-13
MSP430F1612 第一个程序,点亮一个LED灯
MSP430F5529LP+CC3000学习心得(一)——与AP的连接
设备:MSP430F5529LP+CC3000 BoosterPack EVMSDK:CC3000 SDK_V1.11 、android下smart Config APPPatch:PatchProgrammerMSP430F5529LP-7.11.7.13.19开发环境:CCS 5.4.0第一步:硬件连接。第二步:对F5529LP进行Patch programmer。导入C:tiPatchProgrammerMSP430F5529LP-7.11.7.13.19Patch Programmer SourcePatch Programmer CCS目录下的三个工程CC3000 SPi、CC3000HostDriver、Patcher
发表于 2020-02-13
MSP430F5529LP+CC3000学习心得(一)——与AP的连接
MSP-EXP430F5529LP开发板004-PWM库函数
测试了TIMER_A的PWM几种模式pwmMultipleUp2.06kHz,75%占空比#include "wdt_a.h"#include "gpio.h"#include "timer_a.h"#define TIMER_PERIOD 511#define DUTY_CYCLE1  384#define DUTY_CYCLE2  128int main( void ){  volatile unsigned int i;  WDT_A_hold(WDT_A_BASE);    //P2.0 and
发表于 2020-02-13
MSP-EXP430F5529LP开发板003-定时器库函数
430的定时器的有点类似于51单片机,利用定时器实现P1.0口LED灯1s闪烁代码如下#include "wdt_a.h"#include "gpio.h"#include "timer_a.h"#define COMPARE_VALUE 32768int main( void ){  volatile unsigned int i;  WDT_A_hold(WDT_A_BASE);    GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0); 
发表于 2020-02-12
MSP430F149最小系统板利用1602液晶显示的正弦波示波器程控
首先,讲一下 MSP430F149 的结构。MSP430 系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精准指令集(RISC)的混合信号处理器(Mixed Signal Processor)。单个芯片的价格在 20 元左右。MSP430F149 是最小系统板,其中自带了 12 位的ADC模块,液晶显示屏我们可以另加,采集到单片机内部也就是 4096 个不同的读数。再由单片机引脚的最高电压是2.5V,易得理论精度为 0.6 mV,也就是说ADC的位数越多,数据采集精度越高。需要什么样的ADC模块也可以根据需求另外加上。另外提示一点 MSP430F149 的RAM只有 2K。以上都是一些用的上的常识
发表于 2020-02-11
手把手教你单片机串口通信-基础篇
;     if(TI)     //发送数据       {       }      }  运行截图:代码解读:基本上就是几个模块:计时器、中断以及串口通信中断寄存器介绍IE(interrupt enable):(可位寻址)设定各个中断源的打开和关闭IP(interrupt prior)中断优先级寄存器:(可位寻址)用来设定各个中断源属于两级中断中的哪一级中断源:中断响应条件:1.中断源有中断请求2.此中断源的中断
发表于 2020-02-08
手把手教你单片机串口通信-基础篇
小广播
何立民专栏 单片机及嵌入式宝典

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

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