3.4 Energia的安装和使用
详见
导引。这里有下载链接,最新版的18版本是直接解压就可以使用。使用launchpadG2553的Energia如下,
使用这个和arduino的区别,首先是pin map,各个引脚的定义需要查表和对照的,
注意是从1-20都有定义的,和arduino的差别是比较大的。
3.5 基本概念和理解
首先需要理解电学和电子元件的原理,然后理解微处理器的构成,时钟,数字/模拟输入输出,PWM,传感器,内存等定义。
编程部分虽然比较简单,也要理解变量,函数,库,通讯协议等,不过其中的流程图部分就比较简单了。
在安装完和理解清楚后,就可以把10个大类的范例逐个读一遍,理解外设,还有wifi等。
因为语言和自然语言比较接近,即使不是很清楚编程,也是可以读出程序的逻辑和链路关系的。
3.6 程序开发详解
3.6.1 程序结构
Program Structure这两个是基本结构,已经讲述过了。
3.6.2 流程控制
Control Structures
虽然大的循环已经由Energia定义,但是实现功能所需要的分支判断和循环,还是要自己定义的。
3.6.3 标记和分隔符
Further Syntax 这里最重要的是分号,每句必须以分号结束。
其次是大括号,成对出现,标记每一个需要的程序段,你可以把括号里的当做一句语句来理解。
3.6.4 基本的运算和运算符号
Arithmetic Operators- = (assignment operator)
- + (addition)
- – (subtraction)
- * (multiplication)
- / (division)
- % (modulo)
Comparison Operators- == (equal to)
- != (not equal to)
- < (less than)
- > (greater than)
- <= (less than or equal to)
- >= (greater than or equal to)Boolean Operators
Pointer Access Operators
Bitwise Operators- & (bitwise and)
- | (bitwise or)
- ^ (bitwise xor)
- ~ (bitwise not)
- << (bitshift left)
- >> (bitshift right)
Compound Operators
- ++ (increment)
- — (decrement)
- += (compound addition)
- -= (compound subtraction)
- *= (compound multiplication)
- /= (compound division)
- &= (compound bitwise and)
- |= (compound bitwise or)
这些符号和C++中的用法基本一致,也不用奇怪,因为底层的Energia就是用C++来写的,连语法都不变。
基本可以理解Energia就是在C++上的高级库。最初的原版arduino据说只用了3个月就开发出来了,这里arduino的逻辑设计就很重要。
3.6.5 数据类型
Constants 这是确定的常量。
Data Types对于数据类型之间的转换和变化,也有对应的语句
Conversion
Variable Scope & Qualifiers
Utilities
3.6.6 函数
Digital I/OAdvanced I/O 这个是高级的I/O接口,和中断等都联合起来,使用更方便。
Time 时间函数,都是从程序启动开始的时钟计数,然后转换成的时间格式。在使用的时候是没有方法计算语句所占用的时钟周期,这个是Energia的一个弱项,不过,如果你的计算是毫秒,哪怕是微秒,那么语句的时钟周期就可以不计了。
Math
Trigonometry
Random Numbers
Bits and Bytes 这些都是计算函数,也很好用。
3.6.7 中断函数
External Interrupts
Interrupts 这个扩展了Energia的应用,不过,可选的参数就没有那么丰富了。.
3.6.8 通讯函数
在众多的好用中,最好用的就是这些通讯函数。基本上不需要理解这些协议就可以直接使用。
如wifi的设置,直接定义基本变量,
char ssid[] = "energia";
char password[] = "launchpad";
然后启动就可以了。
WiFi.begin(ssid, password);
发出http 请求 GET,只需要
client.println("GET /hello.html HTTP/1.1");
就可以了。
3.6.9 充分理解这些程序后,只需要简单了解,就可以立刻上手,开始编程之旅。
此内容由EEWORLD论坛网友北方原创,如需转载或用于商业用途需征得作者同意并注明出处