vesperW · 9月10日

单片机可以用 Python 开发吗?

你肯定会好奇:Python现在这么火,为什么很少看到用 Python 开发单片机?那么, 单片机究竟可不可以用 Python 开发?

单片机本身不能直接运行 Python 程序,需要借助 MicroPython 的支持。

MicroPython 是 Python 3 语言的精简实现 ,专为微控制器(MCU)和受限环境设计,它包括Python标准库的一小部分,经过优化可在微控制器和受限环境中运行。MicroPython 保留了 Python 语言的易读性和灵活性,同时优化了代码大小和执行速度,以便它可以在内存和处理能力有限的微控制器上运行。

比如:

from machine import Pin, I2C

# creat an I2C bus
i2c = I2C(scl=Pin('X1'), sda=Pin('X2'))

# scan for list of attached devices
dev_list = i2c.scan()

# write to and read from a device
i2c.writeto(0x42, b'4')
data = i2c.readfrom(0x42, 4)

# memory transactions
i2c.writeto_mem(0x42, 0x12, b'')
data = i2c.readfrom_mem(0x42, 0x12, 2)

image.png

MicroPython在单片机领域算是很火的,现在Raspberry Pi(树莓派)、Arduino、ESP32等众多MCU都支持 MicroPython 开发。

关于 MicroPython

Micropython是Python 3编程语言的精简高效实现,包含Python标准库的一小部分,并经过优化,可在微控制器和受限环境中运行。

MicroPython 是Python3编程语言的一个完整软件实现,用C语言编写,被优化于运行在微控制器之上。

image.png

官网:

https://micropython.org/

MicroPython是运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符(REPL)来立即执行所支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问低层硬件的模块。

MicroPython pyboard是一个紧凑的电子电路板,它在裸机上运行MicroPython,为您提供可用于控制各种电子项目的低级Python操作系统。

image.png

使用MicroPython开发单片机需要什么条件?

网上说了很多条件,其实主要还是单片机的性能和内存,当然还包括Flash容量。

官网给出的条件是:16K RAM、256K Flash。

image.png

其他,什么操作系统、外设等都不是必要条件。

现在使用MicroPython开发单片机的是生态逐渐成熟了,但是,市场还是以需求为导向,目前开发单片机的主力还是 C语言。

END

作者:strongerHuang
来源:strongerHuang

推荐阅读

欢迎大家点赞留言,更多Arm技术文章动态请关注极术社区嵌入式客栈专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
2882
内容数
266
分享一些在嵌入式应用开发方面的浅见,广交朋友
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息