如何使用Energia快速开发常见的MSP430/432LaunchPad
到学校里事情有点多,笔记刚好写到ADC,ADC内容也有点多,所以暂时停更了,不过这份笔记我一定会去完善的,感兴趣的可以持续关注一下。
今天发现一个很好的开发MSP430单片机的IDE,感觉能够对大多数正在准备电赛和入门使用MSP430单片机的同学提供到很大的帮助,特意来发一份博客,将我收集的资料分享出来,需要的同学自取就可以了。
相信很多同学都听参加过电赛的学长说过Arduino,而今天的这份资料就是让大家使用Arduino的开发方式去开发MSP430。我是在Seeed发现的该方法,上面主要是介绍一款LaunchPad的扩展板,只是引出IO,想自制的也可以自制一块,也包括一些常见传感器使用的Demo,该教程我也会放在资料包里,官网链接为https://wiki.seeedstudio.com/cn/Grove_Base_BoosterPack/。
话不多说,以板载LED闪烁的Demo作为展示:
// most launchpads have a red LED
#define LED RED_LED//see pins_energia.h for more LED definitions
//#define LED GREEN_LED// the setup routine runs once when you press reset:
void setup() { // initialize the digital pin as an output.pinMode(LED, OUTPUT);
}// the loop routine runs over and over again forever:
void loop() {digitalWrite(LED, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(LED, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a second
}
像正常Arduino的开发流程,你只需要选择开发板定义,端口号(注意:端口处会显示两个串口,一个是下载口,一个是仿真口,我们选择下载端口),再点击上传就可以了。不过任何事物都有两面性,这只会让你快速开发Energia已有的开发板型号(LaunchPad系列),对其他MSP430型号的MCU和底层的一些寄存器学习并不会特别友善,但可以去阅读人家封装好的函数后再去学习底层知识,位置在:…\energia-1.8.10E23\hardware\energia\msp430\cores\msp430,LaunchPad型号定义在:\energia-1.8.10E23\hardware\energia\msp430\variants,个人建议大家都阅读一下吧,毕竟我们只是在使用人家写好的平台。
以下是Energia的官方链接:https://energia.nu/,我只翻译了部分介绍,感兴趣的同学可以自行去看看。
Energia 是一个开源电子原型设计平台,由 Robert Wessels 于 2012 年 1 月创立,其目标是将 Wiring 和 Arduino 框架引入基于德州仪器 MSP430 的 LaunchPad。 Energia IDE 是跨平台的,支持 Mac OS、Windows 和 Linux。 Energia 使用 Peter Bigot 的 msp gcc 编译器。Energia 包括一个集成开发环境 (IDE),它以处理 IDE(处理→接线→Arduino→Energia)为基础。 Energia 也是一个可移植的框架/抽象层,可以在其他流行的 IDE 中使用。
Energia 和 Arduino 的基础是 Hernando Barragan 开发的 Wiring 框架。该框架是为设计师和艺术家精心创建的,旨在鼓励来自世界各地的初学者和专家分享想法、知识和集体经验的社区。Energia 团队采用边做边学的理念,努力让直接使用硬件变得容易。专业工程师、企业家、制造商和学生都可以从 Energia 为微控制器带来的易用性中受益。
德州仪器(Texas Instruments)提供了 MSP430、MSP432x、TM4C、C2000、CC32xx 和 CC13xx LaunchPad, LaunchPad 是由德州仪器 (TI) 制造的低成本微控制器板。最新版本的 Energia 支持大多数 LaunchPad 产品。
最后再展示一个ADC12数值在数码管上的显示Demo吧:
#include "TM1637.h" /* Macro Define */
#define CLK 39 /* 4-Digit Display clock pin */
#define DIO 38 /* 4-Digit Display data pin */
#define LED RED_LED /* blink LED */
#define ROTARY_ANGLE_P 24 /* pin of rotary angle sensor *//* Global Variables */
TM1637 tm1637(CLK, DIO); /* 4-Digit Display object */
int analog_value = 0; /* variable to store the value coming from rotary angle sensor */
int blink_interval = 0; /* LED delay time */
int8_t bits[4] = {0}; /* array to store the single bits of the value *//* the setup() method runs once, when the sketch starts */
void setup()
{/* Initialize 4-Digit Display */tm1637.init();tm1637.set(BRIGHT_TYPICAL);/* declare the LED pin as an OUTPUT */pinMode(LED, OUTPUT);
}/* the loop() method runs over and over again */
void loop()
{ analog_value = analogRead(ROTARY_ANGLE_P); /* read the value from the sensor */blink_interval = analog_value; /* store the rotary analog value */digitalWrite(LED, HIGH); /* turn on LED */memset(bits, 0, 4); /* reset array before we use it */for(int i = 3; i >= 0; i--) {/* Convert the value to individual decimal digits for display */bits[i] = analog_value % 10;analog_value = analog_value / 10; tm1637.display(i, bits[i]); /* display on 4-Digit Display */}/*The amount of time the LED will be on and off depends onthe value obtained by analogRead().*/ delay(blink_interval); digitalWrite(LED, LOW);delay(blink_interval);
}
实物照:
如何使用Energia快速开发常见的MSP430/432LaunchPad相关推荐
- Web开发常见的软件架构
Web开发常见的软件架构 一.看需求分析,看产品PRD:Product Requirement Document 二.根据PRD和产品原型建数据库表,注意三范式要求,用工具到处数据库关系图,并快速地理 ...
- 快速 开发平台 架构_快速介绍清洁架构
快速 开发平台 架构 by Daniel Deutsch 由Daniel Deutsch 快速介绍清洁架构 (A quick introduction to clean architecture) I ...
- Learun对快速开发平台的基本认知与设定
1 概述 随着软件行业日新月异的发展,使用传统的开发工具已经不能满足现有程序员的诉求,每个项目都要从零开始,代码无复用率:所有的基础功能需要一行一点的敲代码,一个预置基本功能模型,可以快速生成代码的开 ...
- android 编写系统应用,Android应用快速开发系统设计与实现
摘要: 自Android系统诞生以来,传统的手持电话遭受了巨大冲击,智能手机的功能越来越强大,价格也越来越低廉,智能手机开始出现在越来越多的普通用户手中.到现在为止,Android手机已经在智能手机领 ...
- eclipse在网页进入时显示重定向过多_使用eclipse快速开发jsp以及编码问题、jsp页面元素、request对象学习的粗略记录...
人老了真是什么都会忘记啊orz,早上发现学过去的东西好多都还没记录复盘... ...(懒虫作祟) 在开始之前,俺认为还是很有必要了解一下jsp的执行流程,俺发现CSDN上的"陈小哥cw&qu ...
- 浅析工业级物联网项目的快速开发
浅析工业级物联网项目的快速开发 发表于2015-11-10 15:01| 1567次阅读| 来源CSDN| 4 条评论| 作者蒲婧 CTO俱乐部CTOCTO讲堂物联网工业级刘洪峰叶帆 width=&q ...
- 基于React和SpringBoot的快速开发模板QuickAdmin
经过一段时间的总结和完善,我的管理系统快速开发模板已经基本成型,现在GitHub上开源啦: QuickAdmin QuickAdmin是基于Spring Boot和React.js实现的管理系统开发框 ...
- 使用 CodeIgniter 框架快速开发 PHP 应用(一)
使用 CodeIgniter 框架快速开发 PHP 应用(一) 原文:使用 CodeIgniter 框架快速开发 PHP 应用(一) 对 CodeIgniter 的介绍 大多数PHPer都想写出运行状 ...
- 深入浅出教你做一个快速开发平台
快速开发平台,重点在于快,要快无非就是两种手段: 1.生成代码 2.重用模块 详细看如下的分支图 就第一种情况生成代码来说,是每个快速开发平台必备的,基本上所有的快速开发平台都能生成CRUD,从jsp ...
最新文章
- “去了太空就别回来了!”贝索斯还没“上天”,就遭美国 5 万多人请愿:不准重返地球...
- 《评人工智能如何走向新阶段》后记(再续13)
- 希捷期望HAMR实现其营收的增长
- ES6:Set和Map
- [读书笔记] 美的历程
- 【英语学习】【医学】Unit 08 The Cardiovascular System
- NHibernate Profiler使用方法
- java读取propertiesshib,Java CommonUtils.constructServiceUrl方法代码示例
- 配置私有仓库(使用registry镜像搭建一个私有仓库)
- java之接口interface
- 微信公号“架构师之路”学习笔记(三)-MQ消息可达性_幂等性_延时性架构设计(应用场景、可靠投递、流量冲击)
- javascript : spket 视频教程
- Netapp存储模拟器一战成功
- 通过IO口控制STC15F2K60S2系列单片机输出pwm
- KVM虚拟化技术实践
- C语言程序设计精髓--第3周编程题在线测试
- mysql amoeba_MySQL基于Amoeba实现读写分离
- LiteFlow 开源编排规则引擎
- let和expr的区别
- python皮卡丘绘制_Python画皮卡丘
热门文章
- Could not execute menu item (internal error),如何修改端口号
- iPhone 11 Pro Max 拆解
- java boss打招呼,Java中几个隐藏“BOSS”
- 用SHA哈希算法加密密码文件
- Python判断if语句
- 数据库经典查询语句与练习题
- PDF怎么转Word?简单几步轻松操作
- 【S - Making the Grade】
- 木框木字的制作——盗墓笔记
- C语言链表学生成绩制作成链表,C语言程序设计课程设计基于链表的学生成绩管理系统.doc...