2016 - 2024

感恩一路有你

python学习交互模式 micropython是用python写的吗?

浏览量:4996 时间:2023-07-03 23:17:14 作者:采采

micropython是用python写的吗?

MicroPython本来是为嵌入式微处理器设计运行的,比如也可以在nRF51822 (256kB flash 16kB RAM)的芯片上运行,也有人慌慌张张在STM32F103上运行。拜托,从代码的角度来说,Python函数栈的官方默认是16K RAM,也就是说它可以在很多微芯片上提供一个极小的Python代码交互环境,但这并不包括它们的扩展函数。毕竟编译更多的功能代码意味着。需要更多的闪存或外部存储。

高度和宽度

根据定位场景,我们可以看到MicroPython在硬件深度上可以走向超低功耗芯片开发领域,Python语言的开发模式决定了它的软件宽度,在全世界流行的Python领域都可以借鉴。参考一下,这带来了很多改变,比如改变了以前的硬件测试流程和开发流程,改变了硬件程序开发难的刻板印象,后面会详细介绍。

Arduino(C)

基于c代码的设计

它的优势是兼容C,可以无缝访问ESP-IDF。

大量的遗留代码库可以直接集成使用。

近年来外设硬件库质量大打折扣,导致硬件开发后缺乏稳定性。

Java description language

常见于Ruff lite、JerryScript等。

一个新的东西,类似于MicroPython的结构。

支持JS异步驱动事件模型要求芯片必须有系统(RTOS)。

在硬件上使用浏览器开发方法。

硬件驱动相关的支持库比较薄弱,所以基于它深耕硬件接口的开发者并不多。

相关开发资料和代码不够稳定。

Left upper arm

与MicroPython和JerryScript相比,它的可移植性更简单。

如仓库:

但因为lua是小众语言,所以地位和bat、bash差不多。

所以它在开发和应用领域不是很受欢迎,但作为一个自动化脚本工具,它仍然很棒。

基本没有周边相关的开发资料,了解lua的大多是自恋的,比如我(大概)。

ESPEasy

大概是一个开发环境,类似于路由器系统(openwrt)。

It 除了好玩之外,它一无是处。

像这样的固件还有很多,所以我赢了。;这里就不举例了。

esp-idf

硬件开发芯片厂商一般提供SDK,esp32提供的多为esp-idf、esp-adf、esp-mdf等等,对应的stm32 hal或CC25XX栈为原生。c代码SDK。

上述开发环境是基于这种持续开发所获得的产品。

在上述对各种开发环境的初步了解之后,让 下面我们来比较一下MicroPython的优缺点。

Advantages and disadvantages of microfilaments

不难看出,MicroPython和Python一样,发挥了glue语言的优势,最大限度地兼容并保持了各自的优势,减少了劣势。

在动态语言大战中,MicroPython保持了面向进程、对象、节和函数的编程语法,丰富的开发带来了代码开发的广度。另一方面,lua从语法上砍掉了很多开发中常用的语法糖,大大削减了代码量。从开箱即用的角度来看,MicroPython迎合了大多数开发者的拿来主义(我?)。

与JavaScript相比,Python没有。;在性能上没有太多优势。唯一的优势是Js s编程思维很长一段时间不适合面向过程领域的C语言硬件编程,比如串口收发机。在Js中,在基于的异步事件绑定模型下,需要设置一些回调函数等待处理。在MicroPython中,通过多线程可以实现Js效果,但是通过While无限循环轮询或者不使用多线程的非阻塞状态机也可以实现同样的功能。后者 s无限循环是嵌入式c中常见的编程习惯,然而在JS的硬件编程中,如果一个函数出现无限循环,那真的是灾难,所有后台线程都可以 t run,但是无限循环的开发确实不好,建议多开发硬件。编写异步驱动程序代码或状态机代码来提高IO性能。

所以在众多动态语言中,MicroPython与C语言的兼容性最好,在编程中也是如此。同时,向后兼容语言吸收了优秀上层代码的精华,尤其是异常机制和动态类型。

此时,与C或C语言相比,MicroPython牺牲了部分执行性能,返回C的每段Python代码平均执行函数操作增加了5 us左右,这是我写软串口时发现的,但也带来了解释器连接。通过动态调整执行接口的参数,加速了硬件程序的验证和开发。

在硬件程序的主控开发中,我们经常会面临大量的硬件API通信调试,就像在网络服务中调试HTTP API,在硬件中控制UART、I2C、SPI、RS485、CAN等从设备,使得用Micropthon开发验证比用C和Arduino快。毕竟他们每次编译2分钟,运行10秒,而Micropthon烧2分钟,然后每5秒运行一次。反复操作,这也得益于MicroPython的硬件外设驱动开发相当可靠稳定(其实也是ESP-IDF稳定可靠XD的原因)。

所以我可以在几个小时内调试别人花一天调试的硬件接口,尤其是多机协议的重复测试接口,比如Modbus readaddr或者这种接口。当然,上面提到的开发甚至是封装成AT指令的接口。模式也可以,但是更复杂的后续逻辑操作可以在Python解释器的基础上编写,而不是调试AT固件的指定接口形式。

总而言之,MicroPython s硬件开发状态处于硬件开发的初步验证和原始开发阶段,后期大部分会转回C。在软件领域,有大量的逻辑样本代码供硬件开发调用和测试,对于硬件开发人员来说会收获更多。多控硬件的方让软件人员更容易配合硬件人员开发调试硬件。

标签

Python如何画出交互式漏斗图?

pyecharts中的漏斗功能可以绘制漏斗图,根据数据大小自动生成自上而下排列的漏斗状图形。

工具/原材料pythonpyecharts方法/步骤导入到漏斗模块。

Import funnel from pyecharts

初始化图形参数。

Funnel funnel (funnel diagram

硬件 开发 MicroPython 代码

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。