Micro Python微控制器
来源:互联网 发布:我的世界冒险传说js 编辑:程序博客网 时间:2024/05/01 01:57
Micro Python是运行在微控制器上的Python,可以让你使用Python来开发嵌入式应用程序,遵守MIT协议。由剑桥大学的理论物理学家乔治·达明设计。和arduino类似,但Micro Python更强大。
Micro Python的软件特点:
- Python 3 语法
- 完整的Python词法分析器, 解析器,编译器,虚拟机和运行时。
- 包含命令行接口,可离线运行。
- Python 字节码由内置虚拟机编译运行.
- 有效的内部存储算法,能带来高效的内存利用率。整数变量存储在内存堆中,而不是栈中。
- 使用Python decorators特性,函数可以被编译成原生机器码,虽然这一特性会带来大约2倍的内存消耗,但也使python有更快的执行速度。
- 函数编译可设置使用底层整数代替python内建对象作为数字使用。有些代码的运行效率可以媲美c的效率,并且可以被python直接调用,适合做时间紧迫性,运算复杂度高的应用。
- 通过内联汇编功能,应用可以完全接入底层运行时,内联汇编器也可以像普通的python函数一样调用。
- 基于简单和快速标记的内存垃圾回收算法,运行周期少于4ms,许多函数都可以避免使用栈内存段,因此也不需要垃圾回收功能。
软件组织结构:
- 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的装配说明
项目官网:[size=1em]micropython.org
项目Githb地址:[size=1em]https://github.com/micropython/micropython
转载地址:http://club.gizwits.com/thread-3491-1-1.html
阅读全文
0 0
- Micro Python微控制器
- Micro Python 入门教程---第一个Micro Python 程序
- Micro Python 入门教程---第二个Micro Python 程序
- Micro Python 入门教程---第三个Micro Python LCD5110显示6x8字符
- python解释器实现及其嵌入式应用:认识Micro Python
- cpu微命令(CPU Micro Code)
- Phalcon之微应用(Micro Applications)
- Micro kernel和Monolithic kerne-单内核和微内核
- Trend Micro
- Caliburn.Micro
- Caliburn Micro
- micro trend
- Micro Services
- Micro LED
- 微控制器中的电源
- 智能卡的微控制器
- 2、 微控制器选择
- 控制器
- matlab批量读取文件的方法
- 清除浮动的方法
- 多线程编程(一)——写一个简单的死锁
- 9月13日云栖精选夜读:除了清空购物车,阿里年会的技术也超霸气!
- 基础数据结构:顺序表、链表——Python实现
- Micro Python微控制器
- 存储器、硬盘 内存 缓存 寄存器
- Java的动态绑定和静态绑定
- gets 和 scanf 的区别
- 多么痛的领悟---关于RMB数据类型导致的元转分分转元的bug
- 124_binaryTreeMaximumPathSum
- iOS WebView 图片点击放大并左右滑动,类似微信/网易文章功能
- bootstrap-datetimepicker时间控件
- JSP九大隐式对象