嵌入式开发:在微控制器基础上使用Python进行原型设计和开发

发布时间:2023-03-01  

Python很实用,但脚本语言通常是为PC应用程序的资源而设计的。然而,嵌入式应用程序通常需要处理更少的问题。Adafruit的CircuitPython是专门为嵌入式开发项目设计的Python变体。

本文引用地址:

Python是一种解释性的、交互式的、面向对象的语言,它将卓越的编程性能与清晰结构化的语法相结合。它以其易读性和可读性以及更简单的语法而闻名。所有这些都有助于降低编程错误的风险,简化代码重用,从而加速软件开发。

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

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

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接口交互实验新型外设中获益。

CircuitPython对开发类型的支持

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

为了获得更好的支持,Adafruit开发了自己版本的MicroPython和CircuitPython,以满足公司各种高性价比微控制器开发卡的特定要求。此外,该公司还将其庞大的Arduino集合中的许多外围库转换为CircuitPython的库,CircuitPython已经为CircuitPython提供了大量且数量不断增长的库。

通过使用Python为嵌入式开发人员带来的好处

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

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

文章来源于:电子产品世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    可以采用永磁同步电机降阶模型抽取方法,通过对永磁电机有限元结果进行降阶抽取,等效抽取的结果是基于有限元计算得到的数据表,在控制系统联合仿真过程中只需通过查表的方法就能得到电机的性能,因此将抽取后的结果应用到系统仿真......
    永磁同步电机控制系统仿真控制器模型的整体结构;多速率仿真 通常情况下,在Simulink环境下搭建的电力电子控制系统的仿真模型,都是多速率的仿真模型。这是因为: 01 电力电子控制系统......
    任务相对被控对象模型就是异步的。但是这个任务相对于PWM-Timer却是同步的。 现在,我们已经知道了永磁同步电机控制系统的实际情况,下面我们就来进行建模。 永磁同步电机控制系统仿真参数 确定系统参数如下: 根据......
    分使用GNU Radio 和USRP 对具体的MPSK 调制系统进行建模,通过软件仿真、实际环境测试和结果的对比分析,验证由GNU Radio和USRP无缝连接特性所带来的硬件原型快速实现的能力,并说明该系统相比传统仿真......
    汽车行驶速度的PID控制系统仿真分析;最近学习一下Simulink中PID控制器的使用算法,翻阅了一些书籍和论文,出现最多的例子就是汽车行驶速度的PID控制仿真。今天......
    中得到了广泛的应用。 1.3 FOC系统仿真搭建及各模块介绍 永磁同步电机矢量控制主要包括速度环、电流环、坐标变换、电压补偿和空间电压矢量脉宽调制(SVM)模块。 图6 基于SVM的永磁同步电机矢量控制系统仿真......
    方式进行对比分析。设定直流电压为540V,异步电机极对数为2,转动惯量为0.067kg·m,仿真时长1s。 图5 基于SVPWM的异步电机矢量控制系统仿真 图6 基于SVPWM的异步电机矢量控制系统仿真......
    介绍的是一种常用的异步电机动态转速估计器方案是磁链闭环估算,速度开环计算。 二、仿真系统搭建 图1 异步电机无速度传感器矢量控制系统仿真 图2 异步电机无速度传感器矢量控制系统仿真波形变化情况 从图2可以发现,速度......
    电流达到电流幅值上限,就选择 Us7,在规定幅值以下,采用矢量表选出电压矢量。 三、仿真模型搭建与波形分析 图3 -1 异步电机直接转矩控制系统仿真(两电平12扇区) 图3-2 扇区划分 从图(3......
    响应') legend('PID','Fuzzy-PID') 3、系统仿真与分析 为分析模糊控制器控制性能.针对直流电机控制系统.利用模糊控制技术设计转速调节器.电流调节器依然采用传统PI控制.用......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>