文档章节

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

bodasisiter
 bodasisiter
发布于 06/23 10:08
字数 1589
阅读 731
收藏 12

   

    最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么?

    错!因为使用它真的是太舒服了!!!

    Micropython的由来,这得益于Damien George这位伟大的计算机工程师,Damien George每天都会使用Python工作,他有一天冒出一个大胆的想法:能否用Python来控制单片机,从而实现对机器人的操作呢?

    Python语言本身就是一款简单上手的脚本语言,一些非计算机专业的爱好者都选Python语言作为入门语言,但是美中不足(中国跟美国为什么不参加世界杯),它不能实现对一些底层的操作,在硬件领域毫不起眼。所以,Damien George利用6个月时间打造了MicroPython,这就是MicroPyhton的由来。

    MicroPython它基于ANSIC,语法跟Python3基本一致,拥有独立的解析器、编译器、虚拟机和类库等。目前他支持基于32-bit的ARM处理器,比如说STM32F401、STM32F405、STM32F407。

    下面告诉大家我使用汇编、C、MicroPython这3种语言做了以下几点比较,为什么说MicroPython使用如此舒服呢??!!!

    1.编译环境
    C语言、汇编语言在编写程序之前,需要下载编译环境,然而Micropython不需要任何编译环境,只需将开发板U口插入电脑,便可在电脑上出现一个盘符,跟插入U盘似得,然后打开U盘,直接记事本编辑main.py就行,它的舒服在于MicroPython不需要任何工具和环境,任何文本工具+1块开发板即可开发编译,可以给它起个外号--口袋编程计算机。。。国内做的比较好的就是TPYBoard v102开发板,有兴趣的可以去学习了解一下,它资料齐全,有视频学习资料,还是不错的,我就是这么入坑的哦。


    2.操作难度
    汇编语言基本操作简单,但是要实现复杂的项目目标相对较难,代码冗长,调试查错困难;C语言有了语句和大量的库函数,相对汇编来说简单了;MicroPython有了比C更多的库函数,代码格式不仅变得简洁,在库的支持下很多函数和方法都不用自己再去写,直接import xx就可以,把类库导入就ok。以前点一个灯需要五六行代码,现在只需要1行代码就可以点亮LED,So  Easy。


    3.程序结构
    汇编语言总体使用跳转结构,不管是子程序的调用还是循环或者散转理论上都是用跳转的方式,中断操作或强行出程序段的操作都需要对压栈有有精确的控制,要求非常严格;C语言总体使用循环结构或顺序结构,不再需要到处跳来执行程序,中断操作会自动进行压栈不需要人为干预,在时序要求高时可嵌入汇编提高效率;MciroPython可以使用C的程序结构或者使用线程结构,线程结构要求的是严格且合理的分配好线程工作时间不能出现冲突,对资源要有很好的把控,不能空挂线程浪费资源,理论上多线程可以更高效的运行,虽然单核同时只能运行单线程但是从宏观角度来说是同步的,在时间要求不严格的情况下可以有效的降低程序的编写难度。

    4.编写方式
    汇编在不使用宏的情况下,通常都是指令直接操作单元,需要记忆大量的数据单元用途,且由于程序行数较多(可能会到一两千行)需要来回翻看程序代码,整个编写流程比较繁琐。而且由于都是8位的单元复杂的数据运算需要嵌套C语言来完成;C语言使用使用任何变量都需要先定义,相比不用特意去记忆变量名称,整体结构清晰多数编程软件都有跳转子程序功能,查找程序块非常方便。有大量的成品头文件包含各种常用函数,相对少了很多复杂的程序代码编写;MicroPython继承了C的编写优点,且不需要预定义,不需要任何结束符号,只需要换行即可继续编写,但是要注意一些特殊情况下Tab键的使用。

    5.易读性
    汇编本身难读因为标记少且直接操作单元,视觉结构上不仅就两列代码而且需要不停的跳转所以本身在读取上就很难;C语言简单的操作代码比较清晰,但是复杂的就会方法中找方法,很多复杂的代码非本人去找,就让人感到非常头疼;MicroPython相比C有更好的易读性,且由于取消了很多特殊符号整体感觉也比较清晰,很多方法都是单独写成单独的库,直接调用即可,每个功能都有单独的类库,看起来极其方便,一目了然。

    通过这几个维度的对比,大家应该很轻松就知道我为什么说MicroPython用起来让人舒服。目前AI是当前社会发展的主流,MicroPython的出现是一个时机,让很多像我这样的初学者,也可以自己做智能小车,学习硬件,它比C语言学习更简单,更适合加入教育,人人都可以学编程,写程序,由此可以看出MicroPython未来市场前景是非常大的,是比Arduino更强大、更容易编程的开发板。

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 19
博文 177
码字总数 159012
作品 0
潍坊
私信 提问
世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter
06/22
0
0
Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!

Python俨然已成为当下最热门的编程语言(可以说没有之一)。Python火到什么程度?它将被加入小学生教材,纳入高考,估计在不远的将来可能会成为一项常用的技能。 学习python能做什么? 可以快...

bodasisiter
09/05
0
0
MicropPython的学习,如何从0到1?

是Java还是C++ ? 是Go还是Python? 你为你最爱或者最熟悉的编程语言打Call了吗? Python在国外是一门非常热门的编程语言,近些年在国内也被发掘与追捧, Python的开放、简洁、黏合正符合了现发...

bodasisiter
09/26
0
0
MicroPython入门|开发板种类那么多,哪块才适合你玩?

  相信对于很多刚刚接触MicroPython的DIY创客来说,首先是被一些大神的作品吸引,然后有冲动自己动手,却发现入门很难,特别是面对各式各样的开发板不知如何选择。目前市面上关于MicroPyth...

bodasisiter
2017/06/20
0
0
MicroPython:STM32 上 的 Python 开发

虽然Python在国外是一门非常火的语言,在黑客界更是赫赫有名,然而中国的大学却极少开设 Python 课程,故而国内 Python 程序员多属自学。而一个没有MCU编程经验的初学者,要想让芯片跑起来,...

bodasisiter
2016/12/28
10.4K
2

没有更多内容

加载失败,请刷新页面

加载更多

127.0.0.1 和 0.0.0.0 地址的区别

1. IP地址分类 1.1 IP地址表示 IP地址由两个部分组成,net-id和host-id,即网络号和主机号。 net-id:表示ip地址所在的网络号。 host-id:表示ip地址所在网络中的某个主机号码。 即: IP-a...

华山猛男
31分钟前
9
0
解决Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.

把 总项目 下的 build.gradle 中的 两个 jcenter() 用 maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/’} 代替。...

lanyu96
37分钟前
3
0
基于redis的分布式锁

redisson提供了基于redis的分布式锁实现方式,本文就尝试了下锁的使用方式。Redisson同时还为分布式锁提供了异步执行的相关方法,第二节执行介绍。 一、可重入锁验证 同一个jvm里面同一线程的...

noob_chr
45分钟前
8
0
CPU性能过剩提升乏力影响未来行业发展吗?

虽然CPU仍然在不断发展,但是它的性能已经不再仅仅受限于单个处理器类型或制造工艺上了。和过去相比,CPU性能提升的步伐明显放缓了,接下来怎么办,成为横亘在整个行业面前的大问题。 自201...

linux-tao
48分钟前
3
0
设计模式“6”大原则!

面向对象设计原则 概述 对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要...

Java干货分享
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部