社区导航

 

搜索
查看: 716|回复: 0

[原创] 【挑战Energia-ID0301A】 Energia详解

[复制链接]

280

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-3-28 14:27 | 显示全部楼层 |阅读模式
3 Energia详解3.1 Energia的概述
Energia基本是一道TI产品的懒人菜,可以用最简单的逻辑实现多数的功能。
从目前看,Energia的主要问题有3个,
第一个调试不容易。没有设置断点等功能,需要在程序中增加中间变量的语句才能实现部分调试功能。不过,本身就只适合流程清晰的程序。太复杂的逻辑,是不可以用的。
第二个就是没有实时时钟,在程序中的有thread功能的设置,但是,还是不能直接设置时钟和分频。也就意味着,对于扫描频率要求高的项目,基本上和arduino一样无能为力。在arduino有一个fastDigital库,就是直接调用了时钟,可以提高1K的精度。TI的系列lauchpad,主频最少16MHz,其实使用energia也是不能充分体现价值的,需要权衡后使用。
第三个就是编译后的效率还是不那么高。对于比较简单的应用,Energia编译后的容量都比较大,这个是因为Energia编译需要连接库的原因。原生的程序设计,应非常小。
但是,除了以上的问题,那么Energia的使用就是超乎想象的好用了。尤其对于外设的访问,基本和自然语言的顺序保持一致。这点也是Arduino的特点了。
3.2 从典型点灯程序看结构。

  1. /*
  2.   Blink
  3.   The basic Energia example.
  4.   Turns on an LED on for one second, then off for one second, repeatedly.
  5.   Change the LED define to blink other LEDs.
  6.   
  7.   Hardware Required:
  8.   * LaunchPad with an LED
  9.   
  10.   This example code is in the public domain.
  11. */

  12. // most launchpads have a red LED
  13. #define LED RED_LED

  14. //see pins_energia.h for more LED definitions
  15. //#define LED GREEN_LED
  16.   
  17. // the setup routine runs once when you press reset:
  18. void setup() {               
  19.   // initialize the digital pin as an output.
  20.   pinMode(LED, OUTPUT);     
  21. }

  22. // the loop routine runs over and over again forever:
  23. void loop() {
  24.   digitalWrite(LED, HIGH);   // turn the LED on (HIGH is the voltage level)
  25.   delay(1000);               // wait for a second
  26.   digitalWrite(LED, LOW);    // turn the LED off by making the voltage LOW
  27.   delay(1000);               // wait for a second
  28. }
复制代码



void setup() { } 部分只执行一次,进行初始化设置。
然后void loop() {}无限制循环执行,知道掉电或者内置退出的机制。
如arduino一样,延时用delay(),输出用digitalWrite


3.3 加载硬件,这个和arduino一样,由硬件管理器直接从网站上下载。不过,多数只支持TI的原生板子,如果是自己定制的板子,那么应该不那么好用。
然后添加库,增加对于外设的访问,如wifi,servo等。
这样就准备好了项目的开发环境。



此内容由EEWORLD论坛网友北方原创,如需转载或用于商业用途需征得作者同意并注明出处






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/8 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-25 21:47 , Processed in 0.079535 second(s), 21 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表