MicroPython学习笔记

1、MicroPython简介

1.1 MicroPython是什么

  由Micro+Python两个部分组成;Micro代表微小Python是编程语言,两者合起来的字面意思就是微型的Python。实际上MicroPython就是用于嵌入式系统上的Python。Python是一种脚本语言,是一款非常容易使用的脚本语言,语法简介、使用简单、功能强大、容易扩展。有非常多的库可以使用。网络功能和计算功能也很强。方便的和其他语言配合使用。完全开源,受到原来越多的开发者青睐。不过由于受到硬件成本、运行性能、开发习惯等原因。没有在通用嵌入式方面得到太多应用。所以MicroPython应运而生。

1.2 MicroPython的历史

​  由英国剑桥大学的教授Damien Georage(达米安乔治)发明的。随着半导体技术和制造工艺的快速发展,芯片的升级换代速度也越来越快,芯片的功能、内部的存储器容量和资源不断增加,而成本却在不断降低。特别是随着像ST公司和乐鑫公司高性价比的芯片和方案应用越来越多,这就给Python在低端嵌入式系统上的使用带来了可能。

1.3 MicroPython的特点

​​  1)MicroPython并没有带来一种全新的编程语言;
​​  2)为嵌入式开发带来了一种新的编程方式和思维,让大家可以将重点放在应用层的开发上。
​  3)MicroPython的特点是简单易用、移植性好、程序容易维护。


2、基础知识

2.1 MicroPython的系统结构

  一个MicroPython系统的典型结构所示,它由微控制器(系统底层)硬件、MicroPython固件用户程序三大部分组成。
在这里插入图片描述
图2.1 MicroPython系统的典型结构


2.2 MicroPython的REPL

  REPL是Read-Evaluate-Print Loop(读取-计算-输出循环)的缩写。在MagicBox Project屏蔽了REPL交互编程功能,而采用了文本编程。


3、硬件平台介绍

3.1 基本硬件平台介绍

  MicroPython可以在多种嵌入式硬件平台上运行,目前已经有STM32、ESP8266/ESP32、CC3200、dsPIC33、MK20DX256、nRF51/nRF52、MSP432等多个平台。公司MagicBox基于STM32F4 DISCOVERY开发板开发。
在这里插入图片描述
图3.1 STM32F4 DISCOVERY开发板

4、框架介绍

官方micropython代码托管在github上micropython

4.1 添加python有两种方法:

4.1.1 在官方的python接口之上直接使用python的语法写自己的python脚本来实现相应的功能

优点:无需自己编译micropython的代码

缺点:可扩展性有限,某些底层功能单纯使用python接口无法完成

4.1.2 基于micropython的代码,用c语言扩展micropython的接口

优点:大大增加可扩展性,满足开发需求

缺点:需要修改micropython的代码


4.2 用C添加接口

4.2.1 在ports/stm32文件夹下新建一个文件test.c

打开test.c,输入以下内容,来实现一个简单的模块添加

#include "stdint.h"
#include "stdio.h"

#include "py/obj.h"
#include "py/runtime.h"
//定义的test全局字典,之后我们添加type和function就要添加在这里
STATIC const mp_rom_map_elem_t test_globals_table[] = {
   
    {
   MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_test)
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值