一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

如何使用MicroPython控制單片機

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

掃碼添加小助手

加入工程師交流群

1. 摘要

本文檔主要介紹,在python環(huán)境下,如何開發(fā)嵌入式應(yīng)用程序,以STM32H43板卡為例介紹. 從系統(tǒng)環(huán)境搭建,到編譯,到用python實現(xiàn)硬件控制??勺鳛槿腴T教程

2. 準備工作

2.1 開發(fā)環(huán)境搭建

2.1.1 Win10自帶linux系統(tǒng)

開發(fā)環(huán)境可以自己使用虛擬機然后安裝ubuntu系統(tǒng),而Win10系統(tǒng)自帶有l(wèi)inux系統(tǒng),只需要使能就可以使用,比較方便,所以我們以win10自帶的linux子系統(tǒng)為例。

在控制面板中啟用linux子系統(tǒng),點擊啟用或關(guān)閉Windows功能。

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

點擊立即重新啟動

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

下載安裝完畢,點擊啟動

設(shè)置用戶名和密碼,

安裝的默認路徑是

C:Usershpp19AppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgscLocalState ootfshome

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

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

2.1.2 虛擬機安裝

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

2.1.3 依賴軟件安裝

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

使用克隆micropython的軟件包,也可以去官網(wǎng)自己下載,拷貝到linux環(huán)境的home目錄下。

使用git 克隆軟件包

如果網(wǎng)絡(luò)不好,要等一段時間,比較慢。也可以自己到官網(wǎng)下載,我已經(jīng)下好,大家可以找我索取當(dāng)前最新板micropython-1.13

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

2.1.4 Micropython 目錄結(jié)構(gòu)

目錄結(jié)構(gòu)比較重要,只有清除目錄結(jié)構(gòu)了,你才能移植到不同的板卡。

詳細的目錄結(jié)構(gòu)介紹可以參考README.md

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

3. 交叉編譯工具鏈

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

安裝完后可以查看下版本

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

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

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

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,F(xiàn)746,H743等,

復(fù)制NUCLEO_H743ZI命名為BODEBOARD

輸入命令ls查看下已經(jīng)有BODEBOARD文件夾和文件,進入查看下

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

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

修改mpconfigboard.h

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

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

保存退出

修改pins.csv文件

添加LED和UART1的管腳

保存退出。

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

等待編譯完成。

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

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

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

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

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

5. 測試

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

導(dǎo)入LED庫,就可以控制LED了

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

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

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

6. 參考文檔

序號 文獻
1 www.micropython.org

責(zé)任編輯:xj

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6067

    文章

    44997

    瀏覽量

    650752
  • STM32
    +關(guān)注

    關(guān)注

    2295

    文章

    11032

    瀏覽量

    365223
  • Micropython
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    5319

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    單片機直流電機調(diào)速原理

    在工業(yè)自動化、智能設(shè)備等領(lǐng)域,直流電機的調(diào)速控制至關(guān)重要,而單片機憑借其靈活的控制能力,成為實現(xiàn)直流電機精準調(diào)速的核心部件。單片機直流電機調(diào)速技術(shù)通過程序
    的頭像 發(fā)表于 07-17 13:42 ?69次閱讀

    給予單片機的溫度控制系統(tǒng)設(shè)計

    在工業(yè)生產(chǎn)、智能家居等領(lǐng)域,溫度的穩(wěn)定控制至關(guān)重要,基于單片機的溫度控制系統(tǒng)憑借靈活、高效的特點被廣泛應(yīng)用,其設(shè)計原理與實現(xiàn)方式值得深入探討。 基于單片機的溫度
    的頭像 發(fā)表于 07-16 10:57 ?107次閱讀

    單片機和伺服有什么區(qū)別

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

    單片機科普總結(jié),建議收藏!

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

    什么是單片機的ADC接口

    在嵌入式系統(tǒng)和工業(yè)自動化領(lǐng)域,單片機(Microcontroller)作為核心控制單元,承擔(dān)著數(shù)據(jù)采集、處理和控制的重要任務(wù)。其中,模數(shù)轉(zhuǎn)換器(Analog-to-Digital Converter
    的頭像 發(fā)表于 02-03 11:27 ?2288次閱讀

    基于單片機中藥存放環(huán)境監(jiān)測系統(tǒng)的實現(xiàn)

    本項目基于STM32F103C8T6單片機作為核心控制單元,通過多種傳感器對環(huán)境進行實時采集,并通過液晶顯示屏和Wi-Fi無線通訊將監(jiān)測數(shù)據(jù)展示給用戶,達到環(huán)境預(yù)警和安全保障的目的。
    的頭像 發(fā)表于 01-23 09:42 ?759次閱讀
    基于<b class='flag-5'>單片機</b>中藥存放環(huán)境監(jiān)測系統(tǒng)的實現(xiàn)

    MCU與單片機的區(qū)別

    在現(xiàn)代電子技術(shù)領(lǐng)域,微控制單元(MCU)和單片機是兩個經(jīng)常聽到的術(shù)語。盡管它們在某些方面有相似之處,但它們在設(shè)計、功能和應(yīng)用上存在顯著差異。 一、定義與基本概念 1.1 微控制單元(MCU) 微
    的頭像 發(fā)表于 11-11 14:50 ?2756次閱讀

    單片機編程語言有哪些選擇

    單片機(Microcontroller Unit,MCU)編程是指為單片機編寫程序的過程,這些程序控制單片機的行為和功能。單片機廣泛應(yīng)用于嵌入式系統(tǒng),如家用電器、汽車電子、工業(yè)
    的頭像 發(fā)表于 11-01 14:13 ?2448次閱讀

    基于MSP430單片機的模糊邏輯電機控制

    電子發(fā)燒友網(wǎng)站提供《基于MSP430單片機的模糊邏輯電機控制.pdf》資料免費下載
    發(fā)表于 10-23 10:21 ?1次下載
    基于MSP430<b class='flag-5'>單片機</b>的模糊邏輯電機<b class='flag-5'>控制</b>

    利用MSP430單片機控制步進電機

    電子發(fā)燒友網(wǎng)站提供《利用MSP430單片機控制步進電機.pdf》資料免費下載
    發(fā)表于 10-09 14:18 ?0次下載
    利用MSP430<b class='flag-5'>單片機</b><b class='flag-5'>控制</b>步進電機

    電子產(chǎn)品方案開發(fā)公司常用的15個單片機經(jīng)典電路分享!

    本帖最后由 網(wǎng)卡朋友 于 2024-9-25 14:52 編輯 在電子產(chǎn)品開發(fā)領(lǐng)域,單片機(Microcontroller Unit, MCU)作為核心控制單元,憑借其高度集成、功能強大
    發(fā)表于 09-25 14:43

    單片機加wifi模塊可以做什么

    嵌入式系統(tǒng)和智能設(shè)備中。而Wi-Fi模塊是一種無線通信模塊,它允許設(shè)備通過無線網(wǎng)絡(luò)進行數(shù)據(jù)傳輸。將單片機與Wi-Fi模塊結(jié)合使用,可以開發(fā)出多種功能強大的智能設(shè)備和系統(tǒng)。 概述 單片機加Wi-Fi模塊的組合可以實現(xiàn)以下功能: 遠程控制
    的頭像 發(fā)表于 09-10 15:32 ?1675次閱讀

    stm32單片機用什么軟件編程

    STM32單片機是一種廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域的微控制器,具有高性能、低功耗、豐富的外設(shè)接口等特點。要對STM32單片機進行編程,需要選擇合適的軟件工具。 概述 STM32單片機
    的頭像 發(fā)表于 09-02 10:16 ?3501次閱讀

    單片機燒錄程序用什么軟件

    單片機燒錄程序是單片機開發(fā)過程中的一個重要環(huán)節(jié),涉及到將編寫好的程序代碼通過燒錄器寫入單片機的ROM中,以實現(xiàn)對單片機控制。 燒錄器的類型
    的頭像 發(fā)表于 09-02 10:05 ?3466次閱讀

    單片機上位

    想學(xué)習(xí)手機控制單片機界面的設(shè)計方法,但是不知道用學(xué)哪個語言比較方便,有好的書籍推薦下
    發(fā)表于 08-23 07:51