AI嵌入式K210项目(20)-MicroPython介绍


前言

单片机嵌入式编程经历了汇编、 C 语言的发展历程,可以说是一次编程革命,其背后的原因是单片机的速度越来越快,集成度越来越高。而这一趋势并没停止,摩尔定律仍然适用。在未来,单片机上很可能直接跑机器语言。在 2014 年, MicroPython 在英国诞生了,对于电子爱好者来说无疑拉开了新时代的序幕,用 python 这个每年用户量不断增长的编程语言来开发嵌入式,加上无数开源的函数模块,让嵌入式开发变得从未如此的简单。

前几章我们介绍K210使用C语言裸机开发方法,大家对K210内部的硬件和各种加速器有了初步的了解,但是开发人工智能相关程序,使用C语言的话复杂度比较高,因此接下来我们逐步学习基于K210芯片使用python开发人工智能相关程序,我们从基础的开始介绍;

一、MicroPython是什么?

我看到MicroPython这个名字,第一感觉应该是"小Python",估计是Python的阉割版;

然后去官网看了下:“MicroPython 是 Python 3 编程语言的精简高效实现,包括 Python 标准库的一小部分,并且经过优化,可以在 Microcontrollers(微控制器)和有限的环境中运行。

MicroPython 包含许多高级功能,如交互式提示,任意精度整数,闭包,列表理解,生成器,异常处理等。然而它非常紧凑,可以在 256k 的代码空间和 16k的 RAM 内运行。MicroPyhon 旨在尽可能与普通 Python 兼容,以便您轻松地将代码从电脑传输到微控制器或者嵌入式系统。”

原来, Micropyton 是指在微控制器上使用Python 语言进行编程,学习过单片机和嵌入式开发的小伙伴应该都知道早期的
单片机使用汇编语言来编程,随着微处理器的发展,后来逐步被 C 所取代,现在的微处理器集成度越来越高了,那么我们现在可以使用 Python 语言来开发了。Python 的强大之处是封装了大量的库,开发者直接调用库函数则可以高效
地完成大量复杂的开发工作。 MicroPython 保留了这一特性,常用功能都封装到库中了,以及一些常用的传感器和组件都编写了专门的驱动,通过调用相关函数,就可以直接控制 LED、按键、伺服电机、 PWM、 AD/DA、 UART、 SPI、 IIC 以及 DS18B20温度传感器等等。以往需要花费数天编写才能实现的硬件功能代码,现在基于MicroPython 开发只要十几分钟甚至几行代码就可以解决。

二、官方文档学习

具体的语法我就不多此一举了,大家可以参考官方文档
官网文档网址:https://developer.canaan-creative.com/canmv/main/canmv/demo/index.html#multimedia
建议学习顺序:先了解MicroPython基础语法->按照例程进行实验->分析源码
在这里插入图片描述

实验过程

为了让大家体验下C和MicroPython开发方式的不同,这里做个简单实验吧,还记得当时我们做的点灯实验吗?AI嵌入式K210项目(3)-GPIO控制
硬件原理图:可以看到他们分别连接到了IO12-IO14上,不同的IO控制不同颜色的灯,设置IO为输出模式,当IO设置为高电平时,对应的灯熄灭,当IO设置为低电平时,对应的灯点亮;
在这里插入图片描述

from maix import GPIO
from fpioa_manager import fm
import utime
#注册 IO,这里是fpioa的使用方法
fm.register(12, fm.fpioa.GPIO0)

#初始化 IO
LED_R = GPIO(GPIO.GPIO0, GPIO.OUT)


while True:

    LED_R.value(0) #点亮 LED_R,红灯
    utime.sleep_ms(1000)
    LED_R.value(1) #熄灭 LED
    utime.sleep_ms(1000)

实验现象
在这里插入图片描述


总结

使用MicroPython开发效率得到了极大地提高,后面我们逐步介绍一些示例和模型训练方法

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂飙车的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值