STM32新玩法,非常简单易用,老手新手通吃

2019-07-21 02:02发布


其实没那么神秘,就是移植Python解释器到STM32上,然后通过Python来写单片机程序,下面是详细介绍...

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.


更多资料及应用实例:

http://www.embed-net.com/forum-63-1.html

pyboard购买地址:
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-47695952.2.e3dSVz&id=520834977529

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
beyond696
1楼-- · 2019-07-22 01:12
回复【10楼】hexboot:
---------------------------------
我知道速度肯定会低一些,但是话说的开发PC程序也用C写吗?
所以方便性和效率不可兼得这是很正常的事情,关键就是看你需要什么了,话说大多数时候,大多数应用对速度要求并没那么高

一周热门 更多>