一、energia软件下载显示串口不存在
可能原因是驱动安装或下载串口跳线不正确,本人遇到的是串口跳线不正确,按照下面的芯片型号及板卡,正确修改跳帽/跳线后,下载正常。
以下,第二部分版权属于原作者,在此复制发表仅用于防止引文丢失和非商业性学习自用,特此说明
二、基于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按钮,可以看到串口输出栏中的内容有了变化
具体的串口读写操作函数可以查看 http://energia.nu/Serial.html
————————————————
版权声明:本文为CSDN博主「njchenyi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/njchenyi/article/details/11213437