欧美在线专区-欧美在线伊人-欧美在线一区二区三区欧美-欧美在线一区二区三区-pornodoxxx中国妞-pornodoldoo欧美另类

position>home>Blogs

嘗嘗MicroPython控制單片機

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

1. 摘要

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

嘗嘗MicroPython控制單片機

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工程下的時鐘配置。


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


保存退出

修改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 ?




-END-


來源 | 嵌入式程序猿

作者|武國平


|?整理文章為傳播相關技術,版權歸原作者所有?|

|?如有侵權,請聯系刪除?|


【1】國內MCU能替代國外產品嗎?MCU的未來又將如何?

【2】35歲真的是程序員的坎兒嗎?

【3】不同編程語言能耗不同?看這27種語言對比!

【4】超長干貨為你解析:從串口驅動到Linux驅動模型,嵌入式必會!

【5】本文把TCP/IP講絕了!


免責聲明:本文內容由21ic獲得授權后發布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

Popular articles

主站蜘蛛池模板: 午夜爽爽| 亚洲国产免费| 中国一级黄色| 久久精品香蕉| 国产深夜福利在线观看网站| 夫妇交换俱乐部微信群| 欧美性69式xxxx护士| 女人爽小雪又嫩又紧| 国产999| 印度精品性hd高清| 精品无人区麻豆乱码1区2区| gay肌肉猛男gay激情狂兵| 欧美激情一区二区三区蜜桃视频| 三级毛片在线| а√最新版地址在线天堂| 免费国产成人午夜电影| 3p视频在线| 经典三级四虎在线观看| 色哟哟视频在线| 国产午夜精品一区二区三区不卡| 国产精品久久久久9999 | 日本护士xxxx视频免费| 国产精品入口麻豆免费| 日本视频免费高清一本18| 抱着cao才爽| 神秘电影欧美草草影院麻豆第一页 | 欧亚专线欧洲s码wm| 99精品视频在线观看免费| 日本在线理论片| 女人国产香蕉久久精品| 中文字幕精品视频在线| 日韩插插插| www.插插| 动漫美女被到爽了流漫画| 亚洲精品国产v片在线观看| 7m凹凸精品分类大全免费| 欧美野性肉体狂欢大派对| 调教h视频| 国产刺激视频| 羞羞漫画页面免费入口欢迎你| 啊v在线播放|