你肯定会好奇: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)
MicroPython在单片机领域算是很火的,现在Raspberry Pi(树莓派)、Arduino、ESP32等众多MCU都支持 MicroPython 开发。
关于 MicroPython
Micropython是Python 3编程语言的精简高效实现,包含Python标准库的一小部分,并经过优化,可在微控制器和受限环境中运行。
MicroPython 是Python3编程语言的一个完整软件实现,用C语言编写,被优化于运行在微控制器之上。
官网:
MicroPython是运行在微控制器硬件之上的完全的Python编译器和运行时系统。提供给用户一个交互式提示符(REPL)来立即执行所支持的命令。除了包括选定的核心Python库,MicroPython还包括了给予编程者访问低层硬件的模块。
MicroPython pyboard是一个紧凑的电子电路板,它在裸机上运行MicroPython,为您提供可用于控制各种电子项目的低级Python操作系统。
使用MicroPython开发单片机需要什么条件?
网上说了很多条件,其实主要还是单片机的性能和内存,当然还包括Flash容量。
官网给出的条件是:16K RAM、256K Flash。
其他,什么操作系统、外设等都不是必要条件。
现在使用MicroPython开发单片机的是生态逐渐成熟了,但是,市场还是以需求为导向,目前开发单片机的主力还是 C语言。
END
作者:strongerHuang
来源:strongerHuang
推荐阅读
欢迎大家点赞留言,更多Arm技术文章动态请关注极术社区嵌入式客栈专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。