嵌入式开发:在微控制器基础上运用Python进行原型规划和开发
米乐体育直播

  Python很有用,但脚本言语一般是为PC运用程序的资源而规划的。可是,嵌入式运用程序一般需求处理更少的问题。Adafruit的CircuitPython是专门为嵌入式开发项目规划的Python变体。

  Python是一种解说性的、交互式的、面向对象的言语,它将杰出的编程性能与明晰结构化的语法相结合。它以其易读性和可读性以及更简略的语法而出名。所有这些都有助于下降编程过错的危险,简化代码重用,然后加快软件开发。

  可是,该言语的一个缺陷是,Python是为PC和更大的机器开发的,具有满意的RAM、巨大的海量存储,以及带有键盘、大型显示器和鼠标的全面用户界面。它不适用于嵌入式编程。可是,跟着micropython的推出,Python 3编程言语在2014年完成了精简高效的完成,该言语专门针对微控制器的有限资源进行了优化。

  认识到MicroPython作为一种嵌入式编程言语的才能,促进开源社区针对特定的单片机和开发类型对其进行了定制,以支撑严厉的微控制器开发。

  与C和C++相同,Python开始是为了在大型计算机上运转而开发的。因而,在嵌入式开发中,该言语需求太多的资源来编程微控制器。出于这个原因,澳大利亚程序员和物理学家达米恩·乔治开发了一个名为MicroPython的Python版别,该版别也能够在微控制器的有限资源下运转。Arduino开发类型是MicroPython的前期运用方针。

  MicroPython的交互特性根据其指令界面。这被正式称为REPL(Read Eval Print Loop)窗口,一般经过将主机PC衔接到微控制器开发卡的串行衔接进行操作。REPL接口与20世纪70年代和80年代Basic的指令行接口十分类似。它承受用户输入(单个表达式或句子),对其求值,然后经过REPL窗口向用户回来成果,或履行嵌入句子中的指令。

  REPL接口可用于查询变量、切换I/O线或向衔接的外围块发送字符串。一旦按下Enter键,该行立即被解说和履行。这便是解说编程言语的实质。

  MicroPython的功用有助于探索性编程和毛病扫除,是MicroPython的一个方面,它使编程言语对初学者和有经历的程序员都很友爱。与Arduino IDE的经典周期(包含修改、编译、下载和运转)比较,REPL接口支撑更短的开发周期。即使是经历丰富的嵌入式开发人员,也能够从运用MicroPython的REPL接互试验新式外设中获益。

  每个微控制器都有一组共同的外围设备,每个开发类型进一步弥补了这一列表。这些外围设备需求支撑库。这适用于Arduino IDE和MicroPython。此外,还有许多附加外设,如Adafruit的可寻址NeoPixel RGB LED Strip 1655,它们也需求库支撑。

  为了取得更好的支撑,Adafruit开发了自己版别的MicroPython和CircuitPython,以满意公司各种高性价比微控制器开发卡的特定要求。此外,该公司还将其巨大的Arduino调集中的许多外围库转换为CircuitPython的库,CircuitPython现已为CircuitPython供给了很多且数量不断增加的库。

  Python编程言语为程序员供给了许多长处,如交互式编程、试验和调试。它有一个简化的语法,更类似于人类言语,消除了变量的声明或键入以及杂乱的标点符号。MicroPython是Python 3的变体,答应用Python编程微控制器。

  如图所示,Adafruit从MicroPython派生出编程言语CircuitPython,用于直接硬件支撑,以进一步简化试验并加快言语学习和软件开发。CircuitPython现已支撑根据Microchip的SAMD21微控制器的各种经济高效的微控制器开发卡和根据Nordic Semiconductor的BLE功用nRF微控制器的其他嵌入式开发方式。