www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 編程學(xué)習(xí) >> Python >> 正文

Python轉(zhuǎn)向MicroPython?

作者:佚名    文章來源:網(wǎng)絡(luò)    點(diǎn)擊數(shù):    更新時(shí)間:2023/11/7
線電軌

一、問題/目標(biāo)

  前面我們學(xué)習(xí)了 Python語言, 開發(fā)無線電軌智能車模使用的是 MicroPython 語言,如何從 Python 語言編程, 轉(zhuǎn)向 MicroPython 語言編程,下面讓我們來談?wù)勔韵氯齻(gè)問題: (1)他們之間的區(qū)別;(2) MicroPython中特殊的硬件開發(fā)軟件包;(3)在 MicroPython 開發(fā)單片機(jī)中嵌入式程序的三個(gè)需要注意到的特點(diǎn),Setup-Loop 整體框架結(jié)構(gòu);硬件相關(guān)軟件結(jié)構(gòu);硬件中斷的使用。下面讓我們逐一討論一下。

 

二、基本原理

1、與Python之間的差異

  • Introduction to MicroPython – Python for Microcontrollers

  MicroPython 語言是集成了 Python 語言的一個(gè)分支, 實(shí)現(xiàn)了 Python 3.4 版本語言標(biāo)準(zhǔn)。它是專門為在單片機(jī)這類嵌入式微控制器上,  實(shí)現(xiàn)的一款簡(jiǎn)潔穩(wěn)定的Python語言解釋器由于它屬于高級(jí)解釋型語言,  使得單片機(jī)的開發(fā)變得容易起來現(xiàn)在已經(jīng)有眾多的單片機(jī)平臺(tái)都支持 MicroPython 進(jìn)行應(yīng)用軟件的開發(fā)。對(duì)于初學(xué)者來講,  在語法層面, MicroPython 與 Python 語言的差別基本上不易被覺察。  這里就不做展開, 大家如果感興趣,可以在 MicroPython 官網(wǎng)進(jìn)行查看。  最后需要說明一點(diǎn)的是,  為了便于軟件開發(fā),  在MicroPython中有一種交互式程序開發(fā)模式, REPL, 也就是 Read Evaluate Print Loop。MicroPython 在此模式下, 不斷讀取從串口輸入的 MicroPython  指令, 執(zhí)行后, 進(jìn)行結(jié)果輸出。這個(gè)過程不斷循環(huán), 形成一個(gè)交互式開發(fā)模式。

 

  比如在Thonny 環(huán)境中,利用上面程序編輯窗口進(jìn)行軟件開發(fā)屬于正常程序開發(fā),在Shell中就可以使用 REPL 機(jī)制進(jìn)行交互式開發(fā),比如下面演示在 Shell 中 命令提示符后面輸入不同命令,  回車后, MicroPython 執(zhí)行結(jié)果的演示。手工輸入, 或者拷貝前面的命令,  都可以進(jìn)行執(zhí)行。

 

2、硬件軟件包

  為了應(yīng)用到單片機(jī)平臺(tái)中的硬件模塊,在 MicroPython 中還集成了很多特殊的軟件包。應(yīng)用這些軟件包可以定義一些與硬件相關(guān)的對(duì)象, 以及相關(guān)的硬件函數(shù)接口。

  這里以無線電軌智能車重核心控制板 ESP32為例, 在它的MicroPython 中就集成了很多的硬件軟件包包括有管腳、異步串口、PWM、ADC 以及外部的 I2C, SPI 串行接口等。通過這些特殊的硬件驅(qū)動(dòng)軟件包, 我們就可以在Python 語言中訪問利用這些硬件資源, 來控制車模的運(yùn)行, 感知外部環(huán)境等。比如這里是 I2C總線軟件包, 通過它可以連接單片機(jī)外部很多資源,為了應(yīng)用這個(gè)端口,可以 import machine 軟件包中的 Pin, I2C 模塊,通過定義相應(yīng)的對(duì)象,   設(shè)置 I2C 總線端口的屬性,并與外部設(shè)備通信。

 

  通過實(shí)驗(yàn) 掌握更多單片機(jī)的這些硬件資源的特點(diǎn)和使用方法是應(yīng)用單片機(jī)解決車模控制問題的管腳所在。

3、嵌入式程序開發(fā)

  最后, 我們討論一下 MicroPython 開發(fā)嵌入式程序的特點(diǎn)。對(duì)于初學(xué)者需要注意三個(gè)方面的內(nèi)容。第一個(gè)就是程序主題大體上呈現(xiàn)設(shè)置與循環(huán)兩部分。在設(shè)置部分,往往需要 import 所需要的軟件包、  對(duì)程序軟件變量和硬件模塊進(jìn)行初始化等然后程序進(jìn)入一個(gè)由 for 或者 while 語句構(gòu)成的無限循環(huán)結(jié)構(gòu),  在這個(gè)結(jié)構(gòu)中周期的執(zhí)行一系列的指令, 完成控制的主要任務(wù)。第二部分就是需要理解程序中包含有一些與硬件相關(guān)的變量、對(duì)象等。它們需要不停的進(jìn)行循環(huán)刷新和幅值,這些實(shí)時(shí)變量的值反映了單片機(jī)外部端口的電壓信號(hào), 或者通訊數(shù)據(jù)等, 通過前面的循環(huán)結(jié)構(gòu)進(jìn)行周期的讀取或者賦值。  最終形成對(duì)外部電路的控制。

 

  最后講一下在車模控制中會(huì)碰到的另外一個(gè)特殊編程技術(shù),  那就是中斷。中斷是在 單片機(jī)內(nèi)部硬件在滿足某些條件下執(zhí)行的程序片段,  比如當(dāng)定時(shí)器硬件出現(xiàn)溢出是會(huì)產(chǎn)生周期的定時(shí)器中斷; 在外部端口出現(xiàn)電壓變化時(shí)會(huì)出現(xiàn) IO 信號(hào)中斷;在串口接收到數(shù)據(jù)的時(shí)候會(huì)出現(xiàn)串口通訊中斷等。靈活的應(yīng)用中斷是單片機(jī)嵌入式開發(fā)的重要技巧。 通常情況下,  前面的 Loop 循環(huán) 以及中斷程序, 在嵌入式軟件開發(fā)中往往被稱為嵌入式程序的 后臺(tái) 任務(wù)和 前臺(tái) 任務(wù)。

 

三、應(yīng)用舉例

  這里以無線電軌智能車綜合測(cè)試程序?yàn)槔? 來說明一下 MicroPython 程序的特點(diǎn)。對(duì)于初學(xué)者來看, 這個(gè)程序顯得有點(diǎn)復(fù)雜,但在整體上, 大家看到, 它分為前后兩部分。  前面部分屬于 Setup 初始化部分,  做了很多的硬件初始化,  也定義了一些函數(shù)。后面一部分,就是有 while 形成的 循環(huán)控制部分,  這些屬于軟件的后臺(tái)任務(wù)部分。在每一次循環(huán)中依次執(zhí)行 OLED 屏幕的刷新,按鍵的檢測(cè)處理,以及控制板上 LED 的閃爍, 用于顯示程序運(yùn)行狀態(tài)。此時(shí)估計(jì)大家會(huì)有一個(gè)疑問, 車模運(yùn)動(dòng)中舵機(jī)和電機(jī)控制代碼在哪里執(zhí)行呢?

 

  為了解決這個(gè)疑問, 大家看這個(gè)綜合演示程序的中間部分,在這里定義了 ESP32 硬件定時(shí)器對(duì)象, timer0,接下來定義了一個(gè)函數(shù),  用于定時(shí)器中斷函數(shù)后面是對(duì)定時(shí)器進(jìn)行初始化,設(shè)置定時(shí)器工作模式為周期中斷模式,中斷周期為 10毫秒,  也就是100Hz 的重復(fù)頻率,第三個(gè)參數(shù)設(shè)置中斷服務(wù)程序。這個(gè)程序就是前面定義的 timer0  irq 函數(shù)。因此這個(gè)中斷程序就會(huì)在 Timer0 的中斷驅(qū)動(dòng)下, 每隔精確的 10毫秒, 就被執(zhí)行一次。 中斷程序?qū)儆谇度胧杰浖那芭_(tái)任務(wù)。 中斷程序定義了中斷任務(wù)這些是需要用到的全局變量,  和程序中其它函數(shù)進(jìn)行信息傳遞。讀取電磁場(chǎng)傳感器的交流電壓值判斷賽道的屬性計(jì)算舵機(jī)偏移量對(duì)舵機(jī)偏移量進(jìn)行限幅下面就是設(shè)置電機(jī)運(yùn)行速度和舵機(jī)偏移量。中間部分是用于控制電機(jī)是否運(yùn)行的邏輯。之所以利用中斷周期進(jìn)行車模控制,  主要是為了保證控制時(shí)間的精確和周期的穩(wěn)定。  這要比在 while 循環(huán)中執(zhí)行控制命令更加可靠。

 

  大家感興趣還可以研究一下這個(gè)程序前面的初始化過程,對(duì)于一些和硬件相關(guān)的模塊的使用,可以配合后面相關(guān)的實(shí)驗(yàn)介紹進(jìn)行聯(lián)系。通過這個(gè)程序, 大家能夠熟悉 MicroPython 編寫嵌入式軟件的一些特點(diǎn)。

 

1、演示代碼

Tags:Python,MicroPython  
責(zé)任編輯:admin
請(qǐng)文明參與討論,禁止漫罵攻擊。 昵稱:注冊(cè)  登錄
[ 查看全部 ] 網(wǎng)友評(píng)論
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久
国产呦萝稀缺另类资源| 国产精品一区久久久久| 欧美精品久久99久久在免费线| 午夜精品福利久久久| 欧美一区在线视频| 国产酒店精品激情| 最新日韩av在线| 欧美色爱综合网| 狠狠色2019综合网| 亚洲欧美综合网| 91精品中文字幕一区二区三区| 国产在线视频一区二区三区| 成人欧美一区二区三区1314| 欧美三级视频在线观看| 狠狠色丁香久久婷婷综| 亚洲男同性视频| 欧美一区二区三区免费在线看| 国产成人在线色| 一级日本不卡的影视| 日韩区在线观看| 99久久综合国产精品| 亚洲影院在线观看| 2020日本不卡一区二区视频| 在线看一区二区| 国产在线国偷精品产拍免费yy| 亚洲乱码国产乱码精品精98午夜| 欧美一级理论性理论a| 成人高清在线视频| 婷婷中文字幕综合| 国产精品欧美综合在线| 91.xcao| 成人激情图片网| 日韩福利电影在线| 亚洲国产高清不卡| 51精品国自产在线| 成人激情动漫在线观看| 日本午夜一区二区| 亚洲欧美一区二区三区孕妇| 精品国产乱子伦一区| 欧美性大战久久久久久久 | 麻豆精品视频在线观看| 亚洲欧洲无码一区二区三区| 日韩精品一区国产麻豆| 色婷婷综合久久久中文字幕| 国产精品91xxx| 天天综合日日夜夜精品| 1区2区3区欧美| 久久久精品人体av艺术| 欧美精品丝袜中出| 99国产精品久久| 国产福利精品一区| 日韩精品国产精品| 亚洲激情图片qvod| 国产精品嫩草99a| 精品国产免费一区二区三区香蕉| 欧美日韩三级一区| 色婷婷综合在线| 国产.精品.日韩.另类.中文.在线.播放 | 国产精品久久777777| 精品久久人人做人人爰| 欧美军同video69gay| 在线国产亚洲欧美| av影院午夜一区| 国产激情视频一区二区在线观看 | 日韩电影一区二区三区四区| 亚洲一区在线观看网站| 亚洲欧洲国产日本综合| 国产欧美日韩不卡| 精品福利视频一区二区三区| 91精品国产综合久久久久久| 欧美三电影在线| 日本高清不卡一区| 97久久久精品综合88久久| 国产福利精品一区| 国产中文一区二区三区| 久草精品在线观看| 麻豆视频观看网址久久| 天天射综合影视| 香蕉久久一区二区不卡无毒影院| 亚洲精品乱码久久久久久久久| 国产精品第四页| 国产精品伦理一区二区| 国产欧美日韩在线视频| 久久九九99视频| 久久久久久日产精品| 欧美精品一区二区蜜臀亚洲| 欧美成人vr18sexvr| 精品久久国产字幕高潮| 日韩欧美国产精品| 欧美一级夜夜爽| 4438x亚洲最大成人网| 欧美美女直播网站| 欧美精品久久99| 91麻豆精品国产自产在线| 欧美久久久久久久久久| 911精品国产一区二区在线| 91麻豆精品国产91久久久更新时间| 91精品国产入口| 欧美一区二区三区的| 日韩一级大片在线| 日韩精品一区二区三区在线| 精品久久久久99| 国产日韩欧美亚洲| 国产精品天干天干在观线| 1000精品久久久久久久久| 1024成人网| 亚洲高清免费视频| 日韩精品欧美精品| 免费成人av资源网| 精品亚洲aⅴ乱码一区二区三区| 国产精品一线二线三线精华| 高清国产午夜精品久久久久久| 成av人片一区二区| 色欧美片视频在线观看| 欧美日韩日本视频| 日韩欧美成人一区| 久久久不卡网国产精品二区| 国产精品视频一二| 一区二区三区四区中文字幕| 偷拍日韩校园综合在线| 看国产成人h片视频| 国产精一区二区三区| 99九九99九九九视频精品| 色狠狠一区二区| 日韩三级.com| 国产精品网站在线| 亚洲自拍与偷拍| 美国欧美日韩国产在线播放| 国产精品自拍在线| 91免费在线看| 欧美精品123区| 久久久久久电影| 亚洲人成影院在线观看| 日韩中文字幕区一区有砖一区| 午夜成人在线视频| 国产精品视频第一区| 欧美日韩国产系列| 成人a免费在线看| 免费观看成人av| 一区二区三区在线观看国产 | 欧美高清性hdvideosex| 欧美日韩在线播| 欧美精品一区二区久久久| 国产精品理伦片| 天天免费综合色| 国产乱码精品1区2区3区| 91成人免费在线| 欧美不卡视频一区| 亚洲视频1区2区| 麻豆中文一区二区| gogogo免费视频观看亚洲一| 欧美人狂配大交3d怪物一区| 国产丝袜在线精品| 亚洲一区在线视频| 国产精品一二三四五| 欧美日韩视频在线观看一区二区三区| 久久婷婷久久一区二区三区| 亚洲一区二区欧美| 精品欧美一区二区在线观看| 亚洲乱码一区二区三区在线观看| 麻豆精品一区二区av白丝在线| 99国产一区二区三精品乱码| 日韩久久久精品| 亚洲伦在线观看| 国产一区欧美一区| 欧美日韩一区二区三区在线| 国产欧美日韩视频一区二区 | www.一区二区| 日韩一区二区在线观看| 亚洲欧美偷拍另类a∨色屁股| 精品一区二区三区在线播放视频| 在线亚洲一区二区| 久久久噜噜噜久久人人看 | 精品综合免费视频观看| 色八戒一区二区三区| 精品处破学生在线二十三| 一区二区三区鲁丝不卡| 国产成人小视频| 91精品欧美综合在线观看最新 | 亚洲三级理论片| 国产一区欧美一区| 7777精品伊人久久久大香线蕉最新版| 中文字幕一区二区三区视频| 激情综合色综合久久| 欧美人妖巨大在线| 亚洲免费观看高清| 丰满岳乱妇一区二区三区| 欧美一二三在线| 亚洲高清中文字幕| 91香蕉视频mp4| 日本一区二区三区四区| 麻豆成人久久精品二区三区小说| 欧美色综合网站| 亚洲日穴在线视频| 成人午夜电影久久影院| 欧美成人艳星乳罩| 日本女人一区二区三区| 欧美性猛交xxxxxx富婆| 亚洲精品免费看| 不卡av免费在线观看|