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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM