龙空技术网

微控制器编程常用语言有哪些? MicroPython、CircuitPython、C

自由坦荡的湖泊AI 1528

前言:

今天小伙伴们对“c语言交互式编程”大概比较关心,同学们都需要了解一些“c语言交互式编程”的相关内容。那么小编也在网上汇集了一些关于“c语言交互式编程””的相关知识,希望你们能喜欢,朋友们一起来了解一下吧!

微控制器编程常用语言包括 MicroPython、CircuitPython、Arduino(简化的 C++)和 C,每一种都有自己的优缺点。

MIcroPython

MicroPython是Python 3编程语言的轻量级实现,专为微控制器设计的语言,是由Damien George博士于2013年发布,用于更快的原型设计,已经熟悉Python的可以直接使用。

特征: MicroPython对于想要编写微控制器的初学者来说是一种出色的脚本语言。没有编码经验的新手可以发现它易于阅读和理解,因为它在简单的结构中使用人类可读的命令。此外,它使用读取-评估-打印-循环 (REPL) 运行时环境,允许交互式编码体验。

性能:要使用MicroPython对微控制器进行编程,解释器,库和各种其他依赖项的固件需要预先存到微控制器中。然而,由于处理器执行代码的方式,与C++这样的编译语言相比,像MicroPython这样的解释语言会慢得多。因此,默认情况下,尽管原型设计可以快得多,但代码执行本身却慢得多。

兼容性:由于MicroPython使用本地资源来解释和执行程序,因此微控制器必须具有至少256kB的闪存和16kB的RAM。遗憾的是,一些流行的开发板,如Arduino Uno不符合所需的规格。但是,仍然有很多与MicroPython兼容的板。目前,MicroPython正式支持Pyboard,ESP32,ESP8266,Raspberry Pi Pico,BBC micro:bit,STM32开发板,以及一些Arduino板,如Nano 33 BLE,Nano RP2040,Giga R1和Portenta H7。

社区和支持:自2013年推出以来,MicroPython已经获得了相当多的追随者。初学者可以很容易使用的文档来学习MicroPython。。

Arduino

Arduino是一个流行的开源平台,主要针对电子产品和DIY爱好者。Arduino编程语言基于C和C++编程语言。Arduino语言由一群来自意大利的工程师,艺术家和设计师于2005年发布。

特征:Arduino编程语言使用C和C++的精简版本,使其易于学习和开发。由于其编译性质,使用 Arduino 执行代码的速度明显快于其解释语言对应物。此外,Arduino只需要少量的系统资源即可工作,使其与许多开发板和微控制器兼容。

性能:与MicroPython和CircuitPython不同,Arduino是一种编译的编程语言。这意味着代码首先在编译器(已经包含在Arduino IDE中)上编译,然后由微控制器作为一个整体程序执行。编译程序其转换为机器代码,微控制器无需安装依赖项即可本地执行。Arduino显著提高了代码执行速度,因为微控制器可以直接执行程序,而无需分配时间和硬件资源来转换代码。

支持的主板:由于编译阶段是通过 IDE 完成的,因此微控制器可以有少至 32kB 的闪存和 2kB 的 RAM 来工作。因此,除了Arduino板之外,还有许多Arduino板可用于使用Arduino进行编程。其中许多开发板将使用 ATmega328P、ATmega2560、SAMx8E、ESP8266、ESP32 和 STM32 等微控制器。

社区和支持:自 2005 年以来,作为一个开源平台,Arduino 拥有一些最好的文档。Arduino基金会每年都在积极提供更新,支持和令人兴奋的新产品。全球社区也是分享指南和想法以及回答您可能遇到的任何故障排除问题的最活跃社区之一。

CircuitPython

CircuitPython是Adafruit对Python 3的实现,建立在MicroPython之上。虽然是从MicroPython分叉而来的,但CircuitPython提供了一些改进,使学习微控制器变得简单有趣。

特征:CircuitPython的创建是为了帮助初学者学习如何对微控制器进行编程。为了实现这一点,CircuitPython提供了几个功能,包括交互式编码环境,内置库,简单的语法(比MicroPython简单)以及出色的文档和指南。

性能:由于CircuitPython基于MicroPython,因此它具有许多相同的优点和缺点。程序运行时间将比MicroPython稍慢,因为CircuitPython提供了更多的功能和额外的库。然而,这种差异可能并不明显,因为CircuitPython需要更强大的微控制器才能工作。

支持的主板:借助集成库和更简单的语法,微控制器开发板需要更多的资源来使用CircuitPython。微控制器至少需要具有 8 位处理器、256kB 闪存(推荐 512kB)和 32kB RAM(推荐 64kB)。目前,CircuitPython支持超过390个开发板,在官方网站上列出。

社区和支持:Adafruit可以生产适合初学者的产品。因此,可以在CircuitPython上找到易于理解的文档和书籍。尽管该语言仅在 2017 年推出,但它仍然比 MicroPython 拥有更多的追随者,可以通过 Discord 和官方论坛访问。与Arduino基金会一样,Adafruit正在积极提供更新,支持和新产品,这意味着应该很容易找到支持。

C

C 是 1970 年代由贝尔实验室的 Dennis Ritchie 开发的一种通用编程语言。它是一种编译的编程语言,工程师和其他专业人员经常使用它来高效编程微控制器。

特征:虽然C语言更难学习,但与MicroPython,CircuitPython和Arduino相比,C的主要优势是它提供的速度,效率,控制和可移植性水平。这使得C语言成为对两个微控制器进行编程以用于成品的最佳语言。

性能:C 语言还以其性能而闻名比Arduino,MicroPython和CircuitPython更快地运行程序,即使使用资源较低的微控制器也是如此。这是因为 C 是一种更高效的语言,需要最少的依赖关系。虽然编译的Arduino程序可以像C程序一样在裸机硬件上运行,但其机器代码预先带有降低性能的库和工具。

支持的主板:C 语言非常轻便,几乎可用于对任何基于 Arm 的微控制器进行编程。此外,它还可用于基于 Atmel AVR、STM32、PIC 和 MSP 微控制器的电路板。

社区和支持:由于其强大的编程应用程序以及它已经有几十年的历史,C 编程语言拥有庞大的在线社区。您可以通过各种在线论坛、聊天室和博客轻松找到帮助,这些论坛、聊天室和博客专门讨论和分享有关 C 语言的想法。

选用什么语言编程?

那么,对微控制器进行编程的最佳语言是什么?这真的取决于人。C语言将是设计生产电子产品的专业人士的最佳选择。

那些没有编码经验的人可能很想从CircuitPython开始,因为它具有使学习变得容易和有趣的功能和文档。那些熟悉Python的人会发现使用MicroPython编写微控制器很容易。对于大多数DIY / maker社区来说,Arduino仍然是编程微控制器的最佳语言,因为它提供了性能,可移植性,功能和社区的出色平衡。

标签: #c语言交互式编程