欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 編程學習 >> Python >> 正文

Python轉向MicroPython?

作者:佚名    文章來源:網絡    點擊數:    更新時間:2023/11/7
線電軌

一、問題/目標

  前面我們學習了 Python語言, 開發無線電軌智能車模使用的是 MicroPython 語言,如何從 Python 語言編程, 轉向 MicroPython 語言編程,下面讓我們來談談以下三個問題: (1)他們之間的區別;(2) MicroPython中特殊的硬件開發軟件包;(3)在 MicroPython 開發單片機中嵌入式程序的三個需要注意到的特點,Setup-Loop 整體框架結構;硬件相關軟件結構;硬件中斷的使用。下面讓我們逐一討論一下。

 

二、基本原理

1、與Python之間的差異

  • Introduction to MicroPython – Python for Microcontrollers

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

 

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

 

2、硬件軟件包

  為了應用到單片機平臺中的硬件模塊,在 MicroPython 中還集成了很多特殊的軟件包。應用這些軟件包可以定義一些與硬件相關的對象, 以及相關的硬件函數接口。

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

 

  通過實驗 掌握更多單片機的這些硬件資源的特點和使用方法是應用單片機解決車模控制問題的管腳所在。

3、嵌入式程序開發

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

 

  最后講一下在車模控制中會碰到的另外一個特殊編程技術,  那就是中斷。中斷是在 單片機內部硬件在滿足某些條件下執行的程序片段,  比如當定時器硬件出現溢出是會產生周期的定時器中斷; 在外部端口出現電壓變化時會出現 IO 信號中斷;在串口接收到數據的時候會出現串口通訊中斷等。靈活的應用中斷是單片機嵌入式開發的重要技巧。 通常情況下,  前面的 Loop 循環 以及中斷程序, 在嵌入式軟件開發中往往被稱為嵌入式程序的 后臺 任務和 前臺 任務。

 

三、應用舉例

  這里以無線電軌智能車綜合測試程序為例,  來說明一下 MicroPython 程序的特點。對于初學者來看, 這個程序顯得有點復雜,但在整體上, 大家看到, 它分為前后兩部分。  前面部分屬于 Setup 初始化部分,  做了很多的硬件初始化,  也定義了一些函數。后面一部分,就是有 while 形成的 循環控制部分,  這些屬于軟件的后臺任務部分。在每一次循環中依次執行 OLED 屏幕的刷新,按鍵的檢測處理,以及控制板上 LED 的閃爍, 用于顯示程序運行狀態。此時估計大家會有一個疑問, 車模運動中舵機和電機控制代碼在哪里執行呢?

 

  為了解決這個疑問, 大家看這個綜合演示程序的中間部分,在這里定義了 ESP32 硬件定時器對象, timer0,接下來定義了一個函數,  用于定時器中斷函數后面是對定時器進行初始化,設置定時器工作模式為周期中斷模式,中斷周期為 10毫秒,  也就是100Hz 的重復頻率,第三個參數設置中斷服務程序。這個程序就是前面定義的 timer0  irq 函數。因此這個中斷程序就會在 Timer0 的中斷驅動下, 每隔精確的 10毫秒, 就被執行一次。 中斷程序屬于嵌入式軟件的前臺任務。 中斷程序定義了中斷任務這些是需要用到的全局變量,  和程序中其它函數進行信息傳遞。讀取電磁場傳感器的交流電壓值判斷賽道的屬性計算舵機偏移量對舵機偏移量進行限幅下面就是設置電機運行速度和舵機偏移量。中間部分是用于控制電機是否運行的邏輯。之所以利用中斷周期進行車模控制,  主要是為了保證控制時間的精確和周期的穩定。  這要比在 while 循環中執行控制命令更加可靠。

 

  大家感興趣還可以研究一下這個程序前面的初始化過程,對于一些和硬件相關的模塊的使用,可以配合后面相關的實驗介紹進行聯系。通過這個程序, 大家能夠熟悉 MicroPython 編寫嵌入式軟件的一些特點。

 

1、演示代碼

Tags:Python,MicroPython  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人
色呦呦网站一区| 成人午夜精品在线| 一区二区日韩av| 亚洲图片自拍偷拍| 亚洲国产精品久久久久婷婷884| 亚洲免费观看高清完整版在线观看熊| 亚洲视频一区二区在线| 亚洲免费观看高清完整版在线| 亚洲精品视频免费观看| 一区二区理论电影在线观看| 视频一区二区国产| 极品美女销魂一区二区三区 | 日韩美女久久久| 一区二区在线看| 视频在线观看91| 久久草av在线| 成人免费av在线| 欧美在线免费观看亚洲| 欧美一级免费大片| 国产欧美日本一区二区三区| 最近日韩中文字幕| 青青草一区二区三区| 国产成人鲁色资源国产91色综 | 亚洲免费观看视频| 欧美a级一区二区| 成人a免费在线看| 欧美视频你懂的| 久久久不卡网国产精品一区| 中文字幕一区三区| 日本成人在线视频网站| 成人黄色一级视频| 91精品免费在线| 国产精品久久三| 蜜桃视频在线一区| 91免费版在线看| 久久综合九色欧美综合狠狠| 一区二区成人在线| 国产.欧美.日韩| 日韩午夜av一区| 一区二区三区不卡在线观看 | 男男视频亚洲欧美| 99精品久久免费看蜜臀剧情介绍| 在线91免费看| 亚洲精品中文在线| 国产在线播放一区| 91精品国产欧美一区二区18| 亚洲三级免费电影| 国产激情一区二区三区四区| 欧美一区二区三区啪啪| 亚洲精品视频观看| 91在线视频免费91| 久久精品亚洲精品国产欧美| 日韩成人一级大片| 欧美在线free| 亚洲日本丝袜连裤袜办公室| 丁香六月综合激情| 久久青草欧美一区二区三区| 日本不卡高清视频| 欧美丰满美乳xxx高潮www| 亚洲自拍偷拍欧美| 97久久精品人人做人人爽| 国产精品色噜噜| 成人综合婷婷国产精品久久免费| 日韩亚洲欧美在线| 日韩精品亚洲专区| 欧美夫妻性生活| 午夜视频在线观看一区| 欧美日韩国产免费一区二区| 亚洲国产精品一区二区www| 在线视频你懂得一区| 亚洲乱码中文字幕综合| 91美女蜜桃在线| 亚洲综合色成人| 欧美日本一区二区在线观看| 五月婷婷激情综合网| 欧美日本韩国一区二区三区视频 | 欧美成人精品1314www| 欧美aa在线视频| 精品国产乱码久久| 成人免费观看av| 亚洲欧美电影院| 欧美老女人第四色| 韩国在线一区二区| 国产精品久久影院| 欧美色偷偷大香| 久久精品国产亚洲a| 久久久久久久久久久久久夜| 国产成人免费视频精品含羞草妖精| 中文字幕国产一区| 日本道免费精品一区二区三区| 亚洲一线二线三线视频| 日韩欧美视频在线| 国产成人a级片| 亚洲小说欧美激情另类| 日韩欧美黄色影院| www.久久精品| 首页国产丝袜综合| 国产女主播视频一区二区| 91浏览器入口在线观看| 蜜桃一区二区三区在线观看| 国产精品女上位| 欧美一区二区免费观在线| 福利一区二区在线观看| 一区二区三区四区精品在线视频| 日韩欧美一级精品久久| 91在线视频网址| 国产综合成人久久大片91| 亚洲国产精品久久久久婷婷884| 久久综合久久鬼色| 欧美日韩大陆一区二区| 国产激情一区二区三区桃花岛亚洲| 亚洲男人的天堂av| 久久欧美一区二区| 91精品福利在线一区二区三区| 国产91丝袜在线播放| 水蜜桃久久夜色精品一区的特点| 国产欧美综合色| 欧美一二三在线| 色狠狠av一区二区三区| 国产一区二区美女诱惑| 天天影视色香欲综合网老头| 亚洲欧美日韩国产手机在线| 国产丝袜欧美中文另类| 欧美一级一级性生活免费录像| 色婷婷国产精品| 丁香一区二区三区| 国产美女精品在线| 青青草原综合久久大伊人精品优势| 亚洲免费色视频| 国产精品久久一卡二卡| 国产拍揄自揄精品视频麻豆| 337p日本欧洲亚洲大胆色噜噜| 欧美精品欧美精品系列| 欧美视频精品在线观看| 在线观看成人小视频| 在线精品视频小说1| 99国产精品视频免费观看| 成人小视频在线观看| 国产乱人伦精品一区二区在线观看 | 日韩一二三区视频| 欧美区一区二区三区| 欧美无砖专区一中文字| 欧美在线视频不卡| 欧美日韩视频一区二区| 欧美日韩在线一区二区| 欧美喷水一区二区| 在线播放91灌醉迷j高跟美女| 欧美性欧美巨大黑白大战| 在线观看视频欧美| 欧美日本韩国一区二区三区视频 | 欧美日韩在线观看一区二区| 91国产视频在线观看| 欧美中文字幕一区二区三区| 欧美视频精品在线| 91精品在线麻豆| 精品日韩一区二区三区免费视频| 精品国产免费人成电影在线观看四季| 日韩精品一区二| 国产亚洲一区二区在线观看| 日本一区二区不卡视频| 国产精品卡一卡二| 亚洲va韩国va欧美va精品| 琪琪一区二区三区| 国产成人日日夜夜| 在线精品视频一区二区| 日韩欧美一区二区在线视频| 久久网站最新地址| 亚洲人一二三区| 日韩av一区二区三区| 国产高清精品久久久久| 日本精品免费观看高清观看| 欧美一区二区久久| 亚洲国产高清在线| 午夜精品一区二区三区三上悠亚 | 亚洲精品欧美激情| 天天色图综合网| 国产iv一区二区三区| 91久久香蕉国产日韩欧美9色| 日韩一区二区视频在线观看| 日本一区二区免费在线| 亚洲成人免费看| 不卡视频在线观看| 在线成人小视频| 国产精品久久久久影院色老大| 亚洲国产视频a| 成人自拍视频在线观看| 91精品国产高清一区二区三区| 中文字幕av一区 二区| 五月激情六月综合| 99精品视频一区二区| 欧美电影免费观看完整版| 亚洲精品视频在线看| 国产精品羞羞答答xxdd| 久久免费偷拍视频| 亚洲国产一区二区a毛片| 成人精品国产一区二区4080| 日韩欧美卡一卡二| 午夜欧美一区二区三区在线播放| 不卡的电影网站| 国产性色一区二区|