即便在10年之前,如果玩硬件的话,所用程式语言也只能用C语言。即便在今天,C语言也是除直接使用汇编(机器语言)外,效率最高的语言了。有人说C语言很难学,其实就程式语言本身的结构来说,和现在流行的其他程式语言并没有什么太大差别。其真正难学的部分,可能是因为和计算机硬件距离太近,学习C的时候,如果没有相应的硬件知识很多概念是无法理解的,比如变数型别char, short, int的区别,又比如static的含义以及堆和栈的区别等等,学习这些实际上也是在学习计算机硬件的知识。所幸的是,随着近些年计算机的发展,特别是互联网的出现,产生了许多脱离了实际硬件的跨平台程式语言,如Java,Python,JavaScript等,而且这些语言在国外开源专案的推动下,也逐渐应用于嵌入式系统中,这大大降低了学习硬件程式设计的门槛。
几种创客常用的硬件程式语言及硬件:

我们看到,C语言仍然是创客学习的最终语言,适合资深玩家学习。对于不了解硬件的入门级创客玩家,Python和JavaScript是首选。而且,对于已经熟悉这两门程式语言的软件开发者,可轻松的使用自己熟悉的语言来学习硬件程式设计开发。
何种程式语言适合入门学习呢?对于不会C语言的朋友,建议从Python和JavaScript程式设计入手,lua并不推荐,因为lua太过小巧,对于资料型别的处理很弱。那么,Python和JavaScript究竟选哪个?Python语法严谨且完善,本身就是教学语言,应用广泛,可开发PC端的软件,适合入门学习。
JavaScript由于出身是网页中的指令码语言,严格来说语法上不如Python严谨和完善(特别是对物件的处理),但由于书写和C语言很相似,可为最终学习C语言降低些许难度。更重要的是,用于JavaScript本身来自互联网,因此,对于时下最流行的物联网(IoT)的应用开发,从硬件到软件,从前端软件到后端服务,使用JavaScript都可用完成,无需再学其他的语言。正因如此,JavaScript也常被称为全栈程式语言。
图形程式语言,只是要儿童入门学习,或者,完全不懂计算机的初学者。相对于非图形语言,图形程式语言不适合编写复杂的程式。
对于已经接触或学习过Python的朋友,当然继续使用Python是没问题的,不必更换。对于没有什么基础,或是这两个都没有接触过的朋友,建议选用JavaScript入手。原因如下:
1 Javascript是类C语言,方便以后转向C语言。
2 Javascript是由互联网而生,因此,学会此语言同时也解决了网络程式设计的问题,毕竟互联互通是未来的方向。
3 学会了Javascript,可以通吃所有平台,PC端,嵌入式终端,局域网,云端计算等等。
4 由于Javascript不算太完善,这是缺点但也是优点,Javascript规矩不多学习起来更容易。
本系列教程,就是针对学习使用Javascript在嵌入式硬件上程式设计。关于使用Python在嵌入式硬件上程式设计的教程,另见《玩转microPython系列》和《实战microPython系列》。
认识HexRuino开发板:
首先,让我们先认识一下用于教学的开发板。HexRuino是以STM32F103为控制器的开发板,采用定制的Espruino作为Javascript的直译器。因此你只要会用Javascript,就可以对微控制器进行程式设计,释放自己的创意,DIY出自己的电子作品。
HexRuino作为一个核心控制板,任何人都可以利用它去控制身边的东西。它的JavaScript直译器给你实时的反馈,因此不管你是否拥有类似的程式设计经验,你都可以进行试验和开发。即使你之前从来没有编写过程式码,你也能利用图形化的程式码编辑器去构建自己的程式而不用键入一个字元。
硬件特性:
核心板尺寸57mm x 36mm
STM32F103RCT6 32-bit 72MHz ARM Cortex M3 CPU
256KB of Flash memory, 48KB of RAM
Micro USB界面
输入电压Vin范围:3.6V - 15V
带有电池外部界面
带有micro SD卡座
绿,红,黄,和蓝4颗LED
预留ESP-12焊接位置
32个GPIO界面,含2个SPI界面,2个I2C界面,
4个标准舵机界面

使用时,通过USB口连线计算机,通过USB供电,通过开发工具进行程式设计。
关于软件工具部分,下期继续再讲。
请继续关注:创客DIY乐园(MakerDIY-Park),您的关注就是我前进的动力。





























