从单片机诞生开始发展到现在,单片机的规格并没有多大的变化,但是语言和支持软件的扩展为应用程序开发开辟了许多途径。多年来,单片机进行编程涉及两种语言的选择:C语言和汇编语言。但是随着现在可用于单片机的新语言出现,用户在应用程序设计中面临更多选择。
<="">
宇凡微单片机开发工程师表示,单片机开发用哪种语言取决于你正在处理的应用程序。当前主要有以下几种语言可以用于单片机开发:
(1)C语言与汇编语言
在单片机可以使用新语言之前,两个可用的选择是C和Assembly。在深入探索新语言之前,让我们简单看一下。C语是在20世纪70年代初开发的,也是一种流行的单片机语言。C可以和单片机一起使用,因为C有处理内存分配的能力,也可以执行if语句、循环、数学表达等复杂功能;汇编是 C语言的另一种选择。codec是一种比较古老的语言,通常使用特定于设备的代码,并且使用汇编工具来转换它。通过该语言,用户可以直接访问 CPU,在 CPU中精心调节程序,从而实现精确的计时应用。Composition提供了更好的 CPU使用量,以及 C不支持的其他指令,比如用特定的 BIT指令执行位操作。
(2)MicroPython语言
Python是一种功能丰富的解释性语言,具有简单、清晰、通用的特点。对于微处理器而言,这些功能也使得语言过于庞大。但物理学家 DamienGeorge在2013年“Kickstarter”活动的帮助下,能够把 Python修改为一个适合单片机的更小版本 MicroPython。MicroPython代码是根据 MIT许可开放源码的。这种语言使用了一小部分标准 Python库在微处理器的裸机上运行。该软件仅能运行256 k的空间和16 k的 RAM,但它被设计成与普通 Python完全兼容。
起初,它被设计为可以在基于 ARM的系统上运行,其中包括 BBC micro: bit, Adafruit Circuit Playground Express和 MicroPython PyBoard,现在还可以用于其他处理器,包括ESP8266和ESP32。MicroPython非常擅长于复杂项目的原型设计。举例来说,在ESP8266上, IoT项目可以创建一个 IoT项目,只需一些简单的函数调用,将 MicroPython项目连接到本地Wi-Fi点,然后开始向 MQTT代理传输信息。
(3)Blockly语言
Blockly是一个受 Google支持的开源编程库,它的目的是通过拖放块使代码更有逻辑。使用者不需要依赖于普通会话中不能用的单词和短语,而是把这些词组放入环境中,从而确定程序如何运行。举例来说,不需要编写 IF语句,用户就可以把 IF块拖拽到工作空间中,而且还可以把结果操作拖拽到 IF语句块中。
建立了模块之后,用户就可以用很多种语言(包括 JavaScript, Python, PHP, Lua和 Dart)导出它的 Blockly代码。由于 Blockly系统需要一个特殊的连接,并且不允许不兼容的块连接,所以 Blockly系统的一个优势就是几乎不可能出现错误(不是 bug或错误,只是老的错误)。虽然这种编程方法可以在许多平台上使用,包括 Micro Bit和 Adafruit Circuit Playground Express,但并非为最终的商用产品而设计。然而,它在原型设计阶段很有用,特别是当需要概念验证、了解设备细节时(如寄存器、配置位和 IDE配置)将会很有用。
(4)Arduino C++语言
虽然 Arduino编程语言被称为“Arduino编程语言”,但是实际上 Arduino是用很好的 C++编程的,并且使用了 Arduino特定库的子集。Arduino C++与传统 C++的不同之处是:一般的单片机例程,因为标准库 C++函数不能在它的功能和内存上运行。利用 C++这个小型版本使得该语言更易访问,因为很多设计者已经熟悉了常规 C++。事实上,通过使用编译器,可以用 C++编写代码,然后将其解释为 Arduino可用的代码。
采用 Arduino C++的优点是,它可以在商业环境中工作,比大型语言如 Python要快,而且可以高度移植。应用通用函数自动处理初始时在 ARM内核中为 Uno编译代码。
(5)BASIC语言
BASIC语言最早出现于60年代,随着个人电脑在80年代的兴起进入了它的鼎盛时期。BASIC (初学者的通用符号指令代码的首字母缩写)到今天仍在使用,这使得设计者能够把更多的精力集中于硬件,而更注重于软件。单片机上使用的BASIC的两个例子是PICAXE生产的,Microch使用PICASICSAMP(由Arallax生产)和PICAXE。BASIC是原型甚至硬件开发的好语言,但由于其速度慢、能耗低,BASIC应避免在商业产品中使用。
应用于单片机时, BASIC的解译将导致性能的降低。然而,这种语言的优点是高度可移植性。任何用 BASIC编写的代码都可用于任何带有 BASIC解释器的设备上。以往使用单片机时,设计者要选择自己喜欢的平台,再学习它所用的语言。现在,随着语言和软件的发展,语言可能会决定设计者使用哪种平台。假如设计者想要寻找一个特定的功能,如 GPIO支持、网络、通过 SSH通信的能力,那么语言和系统的选择就是找到最优开发路径的重要因素。
以上就是宇凡微单片机工程师分享的关于单片机开发可以用哪些语言的知识说明,如果您还有关于单片机的疑问,或者有单片机定制需求。可以直接和我们联系,宇凡微专注于单片机应用方案的开发、MCU定制开发,致力于为广大厂家提供更多新颖的电子产品!
免责声明:部分文章信息来源于网络以及网友投稿,本网站只负责对文章进行整理、排版、编辑,是出于传递 更多信息之 目的,并不意味着赞同其观点或证实其内容的真实性,如本站文章和转稿涉及版权等问题,请作者在及时联系本站,我们 会尽快处理。官方所有内容、图片如未经过授权,禁止任何形式的采集、镜像,否则后果自负!
标题: 宇凡微
地址:https://www.yufanwei.com/