历史上的今天
今天是:2024年10月23日(星期三)
2019年10月23日 | 使用Energia开发MSP430 LAUNCHPAD学习笔记2--串口通信
2019-10-23 来源:eefocus
本文将会指导你如何基于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按钮,可以看到串口输出栏中的内容有了变化
史海拾趣
|
就是附件的这种D24V电动推杆 我想请教的问题是1.工作循环:最大15%或者2min持续使用,休息15分钟,怕烧坏元件吗?这是为什么? 2.快速释放功能,指的是什么? 3.可配高感应的传感器,配传感器有什么用途? 我想深入的学习下电动推杆,哪位老师 ...… 查看全部问答> |
|
节能环保招聘需求(重点,急聘) 产品研发总监 20W/Y ? 招聘数量:若干 ? 工作职责 负责能源统计分析系统、能源审计预测系统研究; 负责能源管理系统总体设计; 掌握产 ...… 查看全部问答> |
|
如何用方向键来控制鼠标移动,我做了一个,按方向键后鼠标位置是移动了,但是鼠标一动又回到原来位置,为什么啊? 如何用方向键来控制鼠标移动,我做了一个,按方向键后鼠标位置是移动了,但是鼠标一动又回到原来位置,为什么啊?… 查看全部问答> |
|
把WINCE设备做成U盘,连到PC怎么不见U盘盘符出现?设备管理器的设备列表也显示一个黄色的感叹号,为什么?难道还需要特别的U盘驱动程序? 把WINCE设备做成U盘,连到PC怎么不见U盘盘符出现?设备管理器的设备列表也显示一个黄色的感叹号,为什么?难道还需要特别的U盘驱动程序?… 查看全部问答> |
|
找了半天也没找到以前的那个讲usb时序的帖子,就新开一个了。现在在做一个usb的boot,基本功能已完成,只是下载速度不快,读取:50KB左右,下载20KB左右。 升级一个512K的芯片需要约22秒。不知道理论可以做到多少,是因为双缓冲的 ...… 查看全部问答> |
|
在LM3S上跑LWIP,RAW方式。在一个FOR循环中调用了TCP_WRITE()函数发送数据,发现循环次数多了的话,后面的数据会发送失败。请教,TCP_WRITE可以连续调用多少次,由哪个选项决定?… 查看全部问答> |
|
【MSP430共享】基于射频技术的工程机械仪表无线通信解决方案 针对大型工程机械各类信号与驾驶操控室仪表异地显示的通信问题, 提出基于射频模块 n R F 2 4 0 1 实现无线数据通信的设计方案,详细介绍射频芯片 n R F 2 4 0 1 的工作原理及特点, 并给出了无线通信系统硬件结构、 接口电路及相应程序框图。系统 ...… 查看全部问答> |
|
作为一个多用户、多任务的操纵系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在档节点中作删除标记,并不真正清除文件内容,但是其它用户和一些有写盘动作的进程会很快笼盖这些资料。不外,对于家庭单机使用的Linux,或者误删档 ...… 查看全部问答> |
|
某天某日某产房,你诞生了(power up , 上电运行),结果你不哭,医生把你提起来,屁股上狠狠一巴掌,你哇哇大哭(reset, 复位成功),护士给你检查,看有没有传染病(EMI测试)、然后打预防针(绝缘处理),没有问题后作记录(QC pass),你的父母来接你回去(客户验收 ...… 查看全部问答> |




