Micro Python运行在微控制器上的Python。遵守MIT协议。由剑桥大学的理论物理学家乔治·达明设计。和Arduino类似,但Micro Python更强大。

Micro Python的软件特点:

  • Python 3 语法.
  • 完整的Python词法分析器, 解析器,编译器,虚拟机和运行时。
  • 包含命令行接口,可离线运行。
  • Python 字节码由内置虚拟机编译运行.
  • 有效的内部存储算法,能带来高效的内存利用率。整数变量存储在内存堆中,而不是栈中。
  • 使用Python decorators特性,函数可以被编译成原生机器码,虽然这一特性会带来大约2倍的内存消耗,但也使python有更快的执行速度。
  • 函数编译可设置使用底层整数代替python内建对象作为数字使用。有些代码的运行效率可以媲美c的效率,并且可以被python直接调用,适合做时间紧迫性,运算复杂度高的应用。
  • 通过内联汇编功能,应用可以完全接入底层运行时,内联汇编器也可以像普通的python函数一样调用。
  • 基于简单和快速标记的内存垃圾回收算法,运行周期少于4ms,许多函数都可以避免使用栈内存段,因此也不需要垃圾回收功能。

一下为Micro Python的代码片段:

  • 控制LED闪烁:

  • 读取外部传感器数据:

软件组织结构

  • py/ –python核心实现,包含编译器和runtime。
  • unix/ — Unix版本的Micro Python.
  • stm/ —  运行在STM32F405RG上Micro Python接口和底层驱动.
  • unix-cpy/ –输出字节码的 Micro Python。
  • tests/ — 测试框架和测试脚本test framework and test scripts.
  • tools/ — dfu工具.
  • logo/ –logo

Micro Python电路板:在Micro PythonPCB 上你可以通过Python代码轻松控制微控制器的各种外设,比如LED等,读取管脚电压,播放歌曲,和其他设备联网等等。

Micro Python的硬件特点

  • STM32F405RG MCU.
  • 168 MHz Cortex-M4 CPU with 32-bit hardware floating point.
  • 1 MiB flash storage, 192 KiB RAM.
  • USB口, 支持 串口,通用存储,HID协议。
  • SD卡插槽。
  • MMA76603轴加速度计.
  • 4 LEDs, 1复位按钮, 1通用按钮.
  • 3.3V0.3A板载 LDO , 可从USB口或者外置电池供电。
  • 实时时钟。
  • 30个通用IO口,其中28个支持5V输入输出。
  • 2个 SPI接口, 2个 CAN接口, 2个I2C接口, 5个USART接口.
  • 14个 12-bit ADC引脚。
  • 2个DAC 引脚。

PCB规格:

  • 尺寸: 33mm * 40mm.
  • 重量: 6 grams.

硬件设计文档

  • 原理图(eagle设计)
  • gerbers文档
  • PCB设计文件(eagle设计)
  • BOM 文件
  • PYBv3的装配说明

项目地址micropython.org    kickstarter地址kickstarter.com

软件源码micropython   硬件设计文件pyboard

Micro Python:运行在微控制器上的Python的更多相关文章

  1. 开发平台支持Arm Cortex-M的微控制器上人工智能训练

    开发平台支持Arm Cortex-M的微控制器上人工智能训练 Development platform enables AI training on Arm Cortex-M-based microc ...

  2. Python接口测试实战3(上)- Python操作数据库

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  3. 使用Visual Studio 2017开发python,并在iis上部署Python Django

    作为宇宙第一IDE,怎么可以不支持python开发呢? 1.Visual Studio Installer 扩展Python开发 开始菜单中打开Visual Studio Installer,点修改. ...

  4. 痞子衡嵌入式:微控制器CPU性能测试基准(EEMBC-CoreMark)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是微控制器CPU性能测试基准CoreMark. 在嵌入式系统行业用于评价CPU性能指标的标准主要有三种:Dhrystone.MIPS.Co ...

  5. ST推出新软件STM32Cube ,让STM32微控制器应用设计变得更容易、更快、更好用

    功能强大的STM32Cube 新软件平台由设计工具.中间件和硬件抽象层组成,让客户能够集中精力创新 意法半导体(STMicroelectronics,简称ST)针对STM32微控制器推出一套免费的功能 ...

  6. 微控制器(MCU)架构介绍

    微控制器(MicroController)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM.RAM.CPU.I/O集合在同一个芯片中, ...

  7. Python接口测试实战1(上)- 接口测试理论

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  8. Python接口测试实战5(上) - Git及Jenkins持续集成

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  9. Python接口测试实战4(上) - 接口测试框架实战

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

随机推荐

  1. TDictionary字典 对象的释放。。。

    type TRen = record name: string; age: Integer; end; type TPeople = class private Fname: string; Fage ...

  2. 链表ADT的实现

    list.h文件 /*链表的类型声明*/ typedef int ElementType; /* START: fig3_6.txt */ #ifndef _List_H #define _List_ ...

  3. Android Studio 项目代码运行正常,但是代码爆红处理记录

    系统上运行Android项目时,编译正常但是代码爆红,很烦.处理方法记录: clean 项目,执行build. 运行invalidate cache / restart 重启项目. 找到项目.idea ...

  4. AC日记——K-th Number poj 2104

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 52348   Accepted: 17985 Ca ...

  5. Educational Codeforces Round 34 A. Hungry Student Problem【枚举】

    A. Hungry Student Problem time limit per test 1 second memory limit per test 256 megabytes input sta ...

  6. NewCode

    1.[数论]给你N,求不大于N的最大完全平方数. #include<bits/stdc++.h> #define FOR(i,a,b) for(int i=(a),_b=(b);i< ...

  7. 【WEB基础】HTML & CSS 基础入门(8)表单

    前面 前面我们已经熟悉了网页上一些常见的元素,如在网页上显示一段文字.一张图片.一个列表.一张表格等等.这些东西都是事先编辑好显示在页面上只提供给用户看的,实际上,我们可以把这样的页面称之为静态页面. ...

  8. Codeforces 869 C The Intriguing Obsession

    题目描述 — This is not playing but duty as allies of justice, Nii-chan! — Not allies but justice itself, ...

  9. Git 详细的操作指南笔记

    喜欢的朋友start一下,长期更新文章 设置 安装git后我们需要配置一下,告诉git我们的基本信息等等..一般在用户范围内去配置 git ,也就是在 global 范围. global 全局设置 $ ...

  10. 使用Django快速搭建简单的数据管理后台

    使用Django快速搭建简单的数据管理后台 概述 需求描述: 数据表已建好,能可视化操作增删改查,避免直接操作数据库 简版的管理系统 环境 Windows 10 x64 Python 3.6.3 (A ...