国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用MicroPython控制單片機

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:武國平 ? 2020-11-12 18:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 摘要

本文檔主要介紹,在python環境下,如何開發嵌入式應用程序,以STM32H43板卡為例介紹. 從系統環境搭建,到編譯,到用python實現硬件控制。可作為入門教程。

2. 準備工作

2.1 開發環境搭建

2.1.1 Win10自帶linux系統

開發環境可以自己使用虛擬機然后安裝ubuntu系統,而Win10系統自帶有linux系統,只需要使能就可以使用,比較方便,所以我們以win10自帶的linux子系統為例。

在控制面板中啟用linux子系統,點擊啟用或關閉Windows功能。

如下圖勾選適用于linux的windows子系統,然后重啟電腦

點擊立即重新啟動

重啟后進入windows 10 應用商店,搜索Ubuntu,可以選擇18.04或者20.02進行安裝

下載安裝完畢,點擊啟動

設置用戶名和密碼,

安裝的默認路徑是

C:Usershpp19AppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgscLocalState ootfshome

路徑不能修改,至此linux環境就好了,可以輸入一些常用命令看看,如ls,cp, rm等命令。

Win10地下安裝的linux子系統只支持命令行, 沒有自己用虛擬機安裝的功能全面,但是對于開發micropython 足夠。

2.1.2 虛擬機安裝

如果不想用windows10 安裝的,想自己搭建也是可以,需要安裝虛擬機和下載ubunut的iso鏡像文件,進行安裝,這種安裝網上很多,我們就不詳細列出了,推薦第一種安裝。

2.1.3 依賴軟件安裝

Git安裝,git用來獲取軟件包

使用克隆micropython的軟件包,也可以去官網自己下載,拷貝到linux環境的home目錄下。

使用git 克隆軟件包

如果網絡不好,要等一段時間,比較慢。也可以自己到官網下載,我已經下好,大家可以找我索取當前最新板micropython-1.13

http://www.micropython.org/download/

2.1.4 Micropython 目錄結構

目錄結構比較重要,只有清除目錄結構了,你才能移植到不同的板卡。

詳細的目錄結構介紹可以參考README.md

主要關注下目前micropython支持的ST開發板,和我們關系比較大的是H7系列,可以看到目前支持很多的ST芯片。

3. 交叉編譯工具鏈

在終端輸入sudo apt install gcc make 命令安裝 gcc, make

安裝完后可以查看下版本

輸入 sudo apt-get install gcc-arm-none-eabi 安裝針對ARM的編譯器

如果你的交叉工具鏈安裝下載比較慢的話,請按以下步驟修改,因為linux自帶的軟件源地址都是國外的,國內更新下載安裝的話會比較慢,需要將列表更新為國內

將打開的文件內容全部刪除掉,替換為以下鏡像源

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

修改完軟件源后,更新軟件列表和軟件:

sudo apt update

sudo apt upgrade

如果對vim編輯器命令不熟悉,可以自己百度,或者直接在以下目錄

C:Usershpp19AppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalState ootfsetcapt 下將sources.list文件替換為以下阿里云鏡像源,這樣速度會很快。

編譯mpy-cross, mpy-cross是一個micropython的輔助工具,在編譯過程中會用到,在micropython的源碼根目錄中輸入命令make -C mpy-cross

至此交叉編譯工具鏈就安裝完畢,可以編譯STM32的程序了。

4. 編譯程序

在源碼根目錄下輸入命令make -C ports/stm32 如果不指定BOARD,則默認編譯的是ports/stm32下的PYBV10板子,而我們需要的是能在H743上跑,所以需要裁剪移植一個對H743的板子,查看下可以看到micropython目前支持的STM32板卡有F091, F401,F429,F446,F746,H743等,

復制NUCLEO_H743ZI命名為BODEBOARD

輸入命令ls查看下已經有BODEBOARD文件夾和文件,進入查看下

主要有5個文件,而我們就需要修改這里面的文件

首先修改時鐘為25000000,主要是修改stm32h7xx_hal_conf.h文件

修改mpconfigboard.h

將時鐘修改為如下配置,可以復制我們之前IAR工程下的時鐘配置。

修改其他管腳,這一節我們只以修改三個LEDUART1等管腳為例,在文檔的下一個版本更新中,會更新所有用到的硬件管腳,還是在這個文件中繼續修改對應的硬件管腳

保存退出

修改pins.csv文件

添加LED和UART1的管腳

保存退出。

因為我們是參照的NUCLEO_H743ZI,所以mpconfigboard.mk文件不用修改。至此修改完畢,可以編譯,在micropython根目錄下輸入命令 make -C ports/stm32 BOARD=BODEBOARD

等待編譯完成。

可以看到生成了.hex和.dfu固件,任選一種下載入H743板子,這樣板卡里就有了python解析器,可以識別python語言

編譯好的固件怎么樣復制到windows主機呢,當然你可以直接去生成的目錄底下拷貝,在win10 的linux子系統中默認已經將windows分區掛載好了,我們可以在/mnt目錄下看到

這樣我們就可以直接使用命令cp拷貝到windows了,當然如果你不習慣命令行操作,可以安裝midinight commander 軟件,可以方便的管理文件,輸入命令sudo apt install mc 進行安裝,安裝完后,輸入mc可以直接打開軟件。

不管用那種方法,將Hex文件下載到硬件板卡,下載完畢后,給板子重新上電,可以看到出現一個PYBFLASH類似U盤的盤符,打開里面有boot.py

main.py 等四個文件,我們最后的應用程序直接寫在main.py就可以運行了。

5. 測試

我們先來演示使用putty來控制板子上的LED燈,打開putty,配置波特率和串口號,

導入LED庫,就可以控制LED了

可以觀察H743的板子三個LED燈依次點亮,通過Putty可以控制硬件就完成了,那么如何讓板子上電就三個LED燈點亮,而不需要通過Putty控制呢。?

這就要編輯我們前面提到的main.py文件,使用任何文本編輯器打開,寫入python代碼,保存退出,就可以運行了。

通過以上代碼就實現了LED的點亮控制,實現用python控制單片機。至此就可以用python編寫很多好玩的東西在單片機上跑了。

6. 參考文檔

序號 文獻
1 www.micropython.org

責任編輯:xj

原文標題:嘗嘗MicroPython控制單片機

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6076

    文章

    45495

    瀏覽量

    670373
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373457
  • Micropython
    +關注

    關注

    1

    文章

    69

    瀏覽量

    5840

原文標題:嘗嘗MicroPython控制單片機

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    為什么工業控制多用運動控制器而不用單片機

    在工業自動化領域,運動控制器和單片機是兩種常見的控制設備,但為什么工業控制中更傾向于使用運動控制器而非
    的頭像 發表于 03-05 17:35 ?825次閱讀

    mcu單片機的原理及選型要點(低功耗mcu單片機推薦)

    在現代電子設備中,MCU單片機(微控制器)作為核心控制單元,發揮著不可替代的作用。它將CPU、存儲器、定時器和多種I/O接口集成在單一芯片上,形成一個小型化的計算機系統,廣泛應用于從家用電器到工業設備的各個領域。
    的頭像 發表于 11-24 15:56 ?464次閱讀

    浮思特 | 智能洗衣背后的靜默力量,ABOV單片機如何實現精準控制?

    日常生活中,洗衣已成為不可或缺的家電產品。隨著技術進步,現代洗衣不僅具備基礎的洗滌功能,還融入了觸摸控制、多電機驅動、烘干一體等智能化技術。這些復雜功能背后,離不開高性能單片機的精
    的頭像 發表于 10-16 09:52 ?547次閱讀
    浮思特 | 智能洗衣背后的靜默力量,ABOV<b class='flag-5'>單片機</b>如何實現精準<b class='flag-5'>控制</b>?

    什么單片機比較耐用

    ? ? ? ? 在工業控制、戶外設備、醫療儀器等場景中,單片機的耐用性直接決定了設備的穩定運行與維護成本。耐用的單片機通常具備寬溫工作范圍、強抗干擾能力、穩定的電源適應性和長壽命的硬件設計。深圳市安
    的頭像 發表于 07-31 13:48 ?773次閱讀

    單片機采用什么電流控制

    單片機作為電子系統的控制核心,其電流控制涉及自身工作電流管理與外部設備電流驅動兩個層面。由于單片機內部電路的特性,其自身工作電流較小,而控制
    的頭像 發表于 07-30 10:07 ?740次閱讀

    單片機怎么控制轉速

    ? ? ? ?在工業自動化、智能家居、機器人等領域,單片機控制電機轉速是實現精準運動控制的核心技術。通過結合硬件電路設計與軟件算法優化,單片機可根據不同應用場景靈活調整電機轉速。以下從
    的頭像 發表于 07-25 13:58 ?955次閱讀

    怎么測單片機系統頻率

    單片機系統頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統頻率對單片機應用開發、程序調試和性能優化具有重要意義。測量
    的頭像 發表于 07-25 11:39 ?784次閱讀

    單片機怎么驅動電機?

    在各類自動化設備和智能裝置中,電機是重要的執行部件,而單片機作為控制核心,需要通過特定的方式驅動電機運轉。單片機驅動電機并非直接連接即可,而是要根據電機類型和功率,搭配合適的驅動電路,才能實現穩定
    的頭像 發表于 07-25 09:31 ?906次閱讀

    單片機是怎么控制

    單片機作為電子系統的控制核心,通過接收外部信號、執行預設程序、驅動外部設備的方式實現控制功能,其控制過程涉及信號輸入、數據處理和指令輸出三個關鍵環節,每個環節的協同配合決定了整體
    的頭像 發表于 07-23 13:59 ?780次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內部存儲單元,讓單片機按照預設邏輯工作的過程,是單片機應用開發中不可或缺的環節。無論是簡單的燈光控制
    的頭像 發表于 07-23 11:47 ?1289次閱讀

    低功耗單片機各型號的對比及選型參考

    不同品牌、不同系列的低功耗單片機在功耗控制、性能表現、外設配置等方面各有特點,通過低功耗單片機各型號的對比,能幫助開發者更精準地匹配應用需求。本文將圍繞主流低功耗單片機型號展開對比,并
    的頭像 發表于 07-22 18:25 ?1450次閱讀

    給予單片機的溫度控制系統設計

    在工業生產、智能家居等領域,溫度的穩定控制至關重要,基于單片機的溫度控制系統憑借靈活、高效的特點被廣泛應用,其設計原理與實現方式值得深入探討。 基于單片機的溫度
    的頭像 發表于 07-16 10:57 ?672次閱讀

    單片機和伺服有什么區別

    單片機和伺服的區別 單片機(Microcontroller)和伺服(Servo System)是兩種完全不同的技術概念,分別屬于 控制系統硬件 和 運動控制執行系統 。以下是它們的詳細
    的頭像 發表于 05-26 09:18 ?854次閱讀

    基于51/32單片機按鍵控制步進電機正反轉,A4988驅動

    基于51/32單片機按鍵控制步進電機正反轉,A4988驅動
    發表于 04-14 15:05 ?7次下載

    單片機科普總結,建議收藏!

    單片機(MicrocontrollerUnit,MCU)作為嵌入式系統的核心之一,在現代電子產品中無處不在。從智能家居、汽車電子,到工業控制、醫療設備,單片機支撐著無數智能化應用的發展。對于初學者
    的頭像 發表于 04-07 11:58 ?5644次閱讀
    <b class='flag-5'>單片機</b>科普總結,建議收藏!