zoukankan      html  css  js  c++  java
  • Micro Python:运行在微控制器上的Python

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

    upython

    Micro Python的软件特点:

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

    一下为Micro Python的代码片段:

    • 控制LED闪烁:

    Micro Python c1

    • 读取外部传感器数据:

    Micro Python c2

    软件组织结构

    • 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 h3

    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

  • 相关阅读:
    python获取指定日期和转换的整理
    调用baidu地图API,实现语音导航播报
    Quartus 调试笔记
    mybatis-plus学习遇到的坑
    X509Certificate
    Hyperledger Fabric学习笔记——Wallet
    [WCF权限控制]从两个重要的概念谈起:Identity与Principal
    9-HyperLedger-Fabric原理-MSP详解(一)-MSP基础
    区块链中的“双花”问题
    区块链共识算法 PBFT(拜占庭容错)、PAXOS、RAFT简述
  • 原文地址:https://www.cnblogs.com/xidongs/p/3650921.html
Copyright © 2011-2022 走看看