gzyueqian
13352868059

嵌入式开发:超越 Arduino 的 5 个技巧

更新时间: 2022-03-03 09:50:23来源: 粤嵌教育浏览量:9610

  Arduino 生态系统使数百万对编程或处理器架构知之甚少或一无所知的人可以轻松地进行嵌入式开发。该平台变得如此流行,以至于有时很难让学生甚至工程专业人士放下他们的 Arduino 并编写“真正的”嵌入式软件。在这里,我们着眼于超越 Arduino 并将你的嵌入式软件和系统开发技能提升到新水平的五个技巧。


  提示 #1 – 过渡到使用 mbed


  人们可以考虑做的第一件事就是从 Arduino 过渡到 mbed 生态系统。Mbed 为 Arduino 开发人员提供了从大部分 8 位或 16 位部件迁移到 32 位 Arm 架构的机会。Mbed 支持更广泛的微控制器开发板,并提供更丰富的生态系统供开发人员利用。事实上,mbed 开发人员可以直接在云端在线开发他们的软件,或者以更传统的方式在本地开发。这打开了在几个不同的 IDE 中甚至直接在命令行中工作的选项。环境的变化将迫使开发人员学习新技能并扩大他们目前对软件开发的理解。大多数 Arduino 开发人员也知道 C++,并且由于 mbed 也是基于 C++ 的,因此对使用 mbed 会有一定程度的熟悉。


  提示 #2 – 试试 MicroPython


  有时,开发人员可能希望将自己推向完全未知的新领域。一种方法是完全摆脱 C/C++ 并尝试使用 Python 开发系统。对于微控制器开发人员,MicroPython 是编写 Python 代码的首选工具。MicroPython 支持 Python 3.4 并提供移植到 C 的 Python 解释器,以便它可以在微控制器上运行。这允许开发人员随后编写简单的 Python 脚本并利用 MicroPython 库和 API 快速轻松地开发应用程序。该选项提供了一种非常流行的新语言来学习,并且抽象出硬件,因此嵌入式开发人员不必掌握底层处理器架构。



  提示 #3 – 学习实时 C++ 技术


  有时,Arduino 开发人员可能对他们使用的硬件和他们使用的语言非常满意。他们只是想扩展他们的语言技能。在这种情况下,开发人员不一定要超越 Arduino,而是学习编程技能,如果他们愿意,可以让他们超越 Arduino。一个很好的方法是学习实时 C++ 编程技术。这将要求开发人员更详细地研究 C++ 语言并学习使用纯虚函数、模板以及如何构建可重用软件等技术。


  提示 #4 – 开发你自己的驱动程序代码


  如果开发人员真的想了解底层硬件的工作原理,那么尝试编写驱动程序将是走出 Arduino 舒适区的绝妙一步。编写驱动程序需要了解处理器架构、内存映射以及要为其编写驱动程序的外围设备。嵌入式开发人员仍然可以利用他们的 Arduino 板,但只是转移到软件堆栈中的较低级别。如果这听起来对你来说很有趣,建议你先编写一个通用输入/输出驱动程序,然后再编写一个可以发送和接收字符的 USART 驱动程序。这可以进一步编写一个循环缓冲区来存储这些字符,如果你真的有野心,你可以编写自己的串行数据包协议和代码来解码和验证数据包。


  提示 #5 – 探索 ESP32 生态系统


  如果 Arduino 开发人员正在寻求重大改变,他们可以完全改变语言和硬件并尝试 ESP32 生态系统之类的东西。ESP32 是一种 Wi-Fi/蓝牙处理器模块,每天都在越来越多的物联网设备中使用。这些模块本身很便宜,并提供与 Arduino 相当的开源库。不同之处在于库是用 C 编写的,这使开发人员可以更深入地了解硬件并提供更多的灵活性和控制力。相当多的模块也是多核的,可以为开发人员学习和掌握更高级别的软件复杂性。


  结论


  Arduino 为开发人员提供了一个强大的生态系统来构建快速原型并证明工程概念。但有时,Arduino 不够用,或者开发人员可能需要突破极限,寻找新的挑战来扩展他们的技能。我们已经探索了几个超越 Arduino 的技巧,这些机会应该磨练嵌入式开发人员的软件技能,进入许多专业开发人员工作的世界。

免费预约试听课