使用Energia开发MSP430 LAUNCHPAD学习笔记2--串口通信

发布者:EnchantedHeart最新更新时间:2019-10-23 来源: eefocus关键字:Energia  MSP430  LAUNCHPAD  串口通信 手机看文章 扫描二维码
随时随地手机看文章

本文将会指导你如何基于Energia与你的MSP430Launchpad进行串口通信


在继续阅读本文内容前,请先仔细查看你的套件中是MSP430G2452芯片还是MSP430G2553芯片,这两个芯片的差异会影响到J3跳线组的接口顺序。具体的型号已经印制在芯片的封装壳体上,如下图

对于MSP430G2452,J3跳线组的跳线顺序是不需要改变的,不管Launchpad电路板的版本是1.4还是1.5。如下两个图


对于MSP430G2553,J3跳线组的跳线顺序需要根据Launchpad电路板的版本不同而有所差异。


1.4版本的如下图

1.5版本的如下图

很多文章没有把这两个芯片和电路板版本差异所带来的跳线区别说清楚。希望能给大家一点帮助。


串口通信能够实现开发板与PC的相互传输数据,常用于开发板的调试,输出调试信息,直观的观察开发板运行的状况。LAUNCHPAD 板子上的仿真器串口最大通信速率为9600 baud,我们在写程序的时候最好不要超过这个数值。由于Energia采用了Arduino IDE的方式,用惯Arduino串口传输的朋友都知道,Arduino的Serial.read()每次只能读一个字节,但是有时想进行字符串通讯,就很麻烦了。 这同样也影响到Energia了。但是可以用一种变通的方式去解决这种问题。


下面的代码结合了串口输出和输入的功能:


String comdata = "";

 

 

void setup()

{

    Serial.begin(9600);//设置波特率为9600

}

 

 

void loop()

{

    Serial.print("Hello MSP430 LaunchPad!"); //串口打印

    delay(500);                               //等待500毫秒

    Serial.println("Hello Chen Yi!");        //串口打印加换行

    delay(500);                               //等待500毫秒

 

 

    while (Serial.available() > 0)           //判断串口是否有数据输入

    {

        comdata += char(Serial.read());      //一个个字符读取,并累加到字符串

        delay(2);                             //等待2毫秒

    }

    if (comdata.length() > 0)                 //判断字符串长度是否为0

    {

        Serial.println("I received "+comdata);//串口打印加换行

        comdata = "";                         //重置字符串

    }

}


将代码复制到Energia编译器后,连上板子,查看编译器是否已正常连接开发板,然后下载程序。

点击编译器右上角的串口监视器图标,会弹出串口界面(我使用的0101E0009版本的Energia,发现烧写程序成功后,如果直接打开串口工具并输入字符发送给设备的话会发生编译器假死的问题。只能是烧写成功后,关闭并重新打开编译器,然后打开串口工具,此时发送字符串给设备,完全没有问题)


在文本输入栏输入"test123"点击Send按钮,可以看到串口输出栏中的内容有了变化

关键字:Energia  MSP430  LAUNCHPAD  串口通信 引用地址:使用Energia开发MSP430 LAUNCHPAD学习笔记2--串口通信

上一篇:MSP430系列嵌入式实验教程---基础
下一篇:msp430的DCO校准值被清除后该如何处理

推荐阅读最新更新时间:2024-10-30 15:15

详解TI MSP430 FRAM MCU惊呆小伙伴们的“杀手锏”
针对智能水表、电表、遥控器等需要长时间使用的应用,任何MCU厂商都会以“低功耗”来大做文章,8 bit、16 bit和新晋的32 bit MCU都在分食低功耗应用市场,并且厮杀得越来越激烈。德州仪器(TI)MSP430一直是业界的明星产品,MSP430 FRAM系列MCU问世之后,更是频频打破低功耗的极限,同时也成为竞争对手争先对比和“攻击”的对象。我们不要再听厂商们“王婆卖瓜自卖自夸”,先来看看权威第三方机构的验证结果。 嵌入式微处理器基准评测协会(EEMBC),基本上涵盖80%~90%的MCU的厂家都是其成员,他们一起做了评估,此次评估囊括了8 bit、16 bit和32 bit MCU,评估的标准值称为ULP -MA
[嵌入式]
详解TI <font color='red'>MSP430</font> FRAM MCU惊呆小伙伴们的“杀手锏”
基于MSP430的高速线阵CCD采集系统设计
  CCD是新型光电转换器件,具有体积小、高灵敏度、低噪声、读出速度快、动态范围高和全谱响应等特点,已经广泛应用到图像传感和非接触式测量等领域。正确的CCD驱动需要严格的时序对应关系,传统的CCD驱动方式存在着调试困难、灵活性差等缺点,当驱动电路工作在高频时钟时会出现严重的干扰现象,各逻辑驱动信号不能满足其严格的相位关系,导致系统工作不稳定,已不能满足其应用的需要。因此,CCD采集系统设计的好坏直接影响CCD驱动时序和输出信号的质量,核心是CCD及外围器件时序产生及同步的设计。   本文结合TI公司16位低功耗单片机MSP430,使用PWM方式产生操作时序,不需外加CPLD等复杂逻辑器件。实验结果表明:该系统设计中电路和时序均能够很
[单片机]
基于<font color='red'>MSP430</font>的高速线阵CCD采集系统设计
采用 MSP430FR5739 实现应用至物联网的连接
我们在上周探讨了基于 MSP430FR5739 器件的移动信用卡读卡器。MSP430FR5739 是 MSP430 系列中首款基于 FRAM 的MCU。 这个星期,大家不仅可以了解 MSP430FR5739 如何满足大家的能耗预算需求,而且还能了解到其如何借助便捷的 Wi-Fi 实施来支持物联网。 现如今,几乎任何家用电器都可冠以“智能”二字作为前缀。试想一下:智能冰箱能在门没有关紧时向您发送文本消息;自动调温器可以在您有事外出期间自动调节温度;而干衣机则可在小猫咪钻进温暖的衣服堆里时发出警告。看来我们需要随时与我们所有的电器保持通畅连接,若能无线相连就更好了:)。 如果您的应用还不能实现上述功能,也许是时候让它变得更
[单片机]
采用 <font color='red'>MSP430</font>FR5739 实现应用至物联网的连接
STM32串口通信:修改标准库的printf通过USART打印
USART1需要事先进行较为麻烦配置,配置之后发现即使用HAL函数发送语句还要事先以字符串方式定义,实在是麻烦,虽然后面另外自己写了一个简单的库来操作串口,但看到了更简单的方法,修改标准库中printf相关的两个函数,达到通过printf来串口输出的效果。 (在配置完要使用的串口后) 先在main.c中加上 #include stdio.h 然后重定向两个函数,这里指定的是USART1接口,PA9和PA10,其他USART或者UART自行修改即可 int fputc(int ch, FILE *f) { USART1- DR=(uint8_t)ch; while((USART1- SR&0X40)==0); return ch
[单片机]
51单片机RS232串口通信代码分析
一、串口初始化 void usart_init() { SCON = 0x50; //REN=1允许串行接受状态,串口工作模式1 TMOD = 0x20; //定时器工作方式2 PCON = 0x00; TH1 = 0xFD; //波特率9600、数据位8、停止位1。效验位无 (11.0592M) TL1 = 0xFD; ES = 1; //开串口中断 EA = 1; //开总中断 TR1 = 1; //启动定时器 } SCON寄存器 1.SM0、SM1:串行口工作方式控制位 2.SM2:多机通信控制位 3.REN:允许接收位 4.TB8:发送接收数据位8 5.RB8:接收数据位8 6.TI:发送中断标志位 TI=1表
[单片机]
51单片机RS232<font color='red'>串口通信</font>代码分析
MSP430单片机串行四线驱动1602液晶程序
#include msp430g2553.h #define uchar unsigned char #define uint unsigned int #define RS_1 P1OUT|=BIT3;//输入数据 #define RS_0 P1OUT&=~BIT3;//输入指令 #define RW_1 P1OUT|=BIT4;//写入指令或者数据 #define RW_0 P1OUT&=~BIT4;//从lcd里面读取数据 #define EN_1 P1OUT|=BIT5;//读取信息 #define EN_0 P1OUT&=~BIT5;//下降沿时候执行指令 #define datt P2OUT; uchar temp=0
[单片机]
MSP430F5438研究心得
一、多源中断问题 #pragma vector = PORT2_VECTOR __interrupt void port2(void) { switch(P2IV) { case P2IV_P2IFG6: P2IFG &=~BIT6; P1OUT ^= BIT0;break; //LED1 亮灭 case P2IV_P2IFG7: P2IFG &=~BIT7; P1OUT ^= BIT1;break; //LED2 亮灭 default :break; } } #pragma vector = PORT2_VECTOR __inter
[单片机]
一种基于MSP430的超低功耗电子温度计的设计
  本文设计的超低功耗电子温度计能够通过温度传感器测量和显示被测量点的温度,并可进行扩展控制。该温度计带电子时钟,其检测范围为l0℃~30℃,检测分辨率为1℃,采用LCD液晶显示,整机静态功耗为0.5μA。其系统设计思想对其它类型的超低功耗微型便携式智能化检测仪表的研究和开发,也具有一定的参考价值。 1元器件选择    本系统的温度传感器可选用热敏电阻。在10~30℃的测量范围内,该器件的阻值随温度变化比较大,电路简单,功耗低,安装尺寸小,同时其价格也很低,但其热敏电阻精度、重复性、可靠性相对稍差,因此,这种传感器对于检测在1℃以下,特别是分辨率要求更高的温度信号不太适用。   显示部分可以采用笔段式LCD液晶显示。特
[安防电子]
一种基于<font color='red'>MSP430</font>的超低功耗电子温度计的设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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