问答

汇集网友智慧,解决技术难题

21ic问答首页 - 类micropython系统 vs 单片机 到底有什么吸引大家的地方?

单片机 micropython

类micropython系统 vs 单片机 到底有什么吸引大家的地方?

csdnpurple2020-09-04
类micropython系统 vs 单片机 到底有什么吸引大家的地方?不能理解
回答 +关注 19
944人浏览 1人回答问题 分享 举报
1 个回答
  • 从开发者角度来讲,MicroPython 和 CPython 以及 PyPy 一样,都是 Python 代码的执行环境。
    对于使用者来说,调用通用的 Python 的逻辑代码,手握最大的源码宝库,并且在 Python 的世界里,一切都是开源的,但是 Python 调用外部的依赖库(dll、so、exe)等并不开源,只有执行的 Python 流程和方法,是你可以任意学习、理解、修改的源码。
    动态语言中,最大的效果就是快速的适应程序的业务逻辑变化,减少大型程序的重复编译,通过接口供 Python 调用就是最大的特点,俗称的胶水语言因此而来,许多稳定的程序,可以提供外部接**给 Python 反复调用确认效果,这就导致了动态语言最终多数用于测试环境和热更新程序领域。
    一次编译,多次运行,是 Python 最大的好处,各举一个硬件和软件的例子。
    • 在使用 HTTP 对接后端的时候,调试 API 接口,获取服务器的返回内容,通过 Python 可以做到随时变更 API 的参数重新发起请求,整个过程没有编译过程,只是更换参数执行函数,依次反复确认业务逻辑代码是否符合预期,类似自动化测试。
    • 在控制硬件输出 PWM 的时候,例如调试音频设备或蜂鸣器,我们会需要经常变化参数来确认输出的波形或占空比,这时候,更换参数即可执行的 Python 就起到了快速开发的效果,对于一些需要大量调试和测试的开发。

    以上例子都体现出一种效果,就是有许多需要大量测试才能确定的代码,使用 Python 进行开发会比 C 开发更具效率。
    总结下来:
    • Python 拥有大量开放的源码,可以快速参考和查阅确认开发以及实施的时间和可能性。
    • Python 的业务逻辑开发效率优越,动态语言共同的特性,但随之牺牲的是性能。

    在一些要求不是特别高的家用、民用、日常的场合,Python 会是你最好的帮手,就像过去的编程计算器一样,可以反复帮助你确认复杂计算式的正确性。
    Python 语言开发特性
    首先 Python 开发十分的快速,可以适应多种场合下的程序修改,实时热更新配置代码。
    它拥有语法简洁、兼容大多数语言的特性、各种动态类型、自带大数库、大量开源示例代码、完整的 import 机制等等特性,这决定了它在不看重性能的场合里,用途特别明显,尤其是数据处理、算法验证、机器学习、编程学习、业务变更、升级程序等开发场合。
    但是动态语言在关键操作上性能低下,所以通常我们会将关键部分逻辑迁移到 C 语言或更底层用于提速,再暴露给 Python 调用。
    MicroPython 也和 Python 一样。
    csdnpurple 2020-9-5 12:04 回复TA
    在网上查的,在开发原型机时使用pathon,然后再更改成目标机程序,比如c 有没有用过的? 

您需要登录后才可以回复 登录 | 注册