溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

micropython如何使用

發(fā)布時間:2022-01-13 10:58:47 來源:億速云 閱讀:411 作者:iii 欄目:互聯(lián)網(wǎng)科技

本文小編為大家詳細介紹“micropython如何使用”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“micropython如何使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    Micro Python是Python 3編程語言的一個簡潔和快速實現(xiàn),專門優(yōu)化運行于一個微控制器上。它基于ANSIC,語法跟Pyton 3基本一致,擁有自家的解析器、編譯器、虛擬機和類庫等,下面是MicroPython支持的一些常見開發(fā)板:

1、  Pyboard

micropython如何使用

2、  Pymagic

micropython如何使用

3、  TPYBoardV102

micropython如何使用

    TPYBoard單片機開發(fā)板,現(xiàn)有TPYBoardV101、v102兩個版本,其中v102為v101的升級版,新增swd接口。采用python開發(fā)語言,提供了30個GPIO,輕松使用python開發(fā)物聯(lián)網(wǎng)產(chǎn)品。支持Python3.0及以上版本的直接運行,支持重力加速度傳感器,支持上百周邊外設(shè)配件。


    0x03 以TPYBoardV102為例,講解micropython如何使用。


    下面以TPYBoardV102開發(fā)板為例,詳解micropython如何使用。比如說,如果現(xiàn)在要運行第一個腳本,那么在TPYBoardV102上面只要做這么幾步:


    第一步:通過USB線插入TPYBoardV102跟電腦連接,然后電腦上面會彈出來一個名稱為TPFLASH的U盤,如下圖:

micropython如何使用

       空間有點小只有95KB,對你沒有看錯,不是95MB,只有95KB。這是因為現(xiàn)在使用的是STM32芯片內(nèi)置的flash空間,所以就只有這么大了,但是這么小寫入N個python腳本文件也是足夠的了。而且,我會告訴你插入TF卡后,能夠擴展到4個G的嘛。


    第二步:打開U盤打開后里面有如下四個文件:

micropython如何使用

    其中main.py為開機自動運行文件,可以將自己的代碼放在里面;boot.py為開機引導文件,由它加載main.py;pybcdc.inf為windows下的虛擬串口驅(qū)動文件;README.txt包含開啟開發(fā)板的必要基礎(chǔ)信息。


    第三步:編輯mian.py:


    現(xiàn)在我們可以開始編寫自己的 python 程序了。用文本編輯器打開 main.py 文件。Windows 環(huán)境下可以使用記事本或者其他編輯器。Mac 和 linux 下使用你喜歡的文本編輯器即可。打開文件后你將看到如下的一行:

micropython如何使用

    該行以 # 字符開始,意味著只是一個注釋。這樣的命令行不會被執(zhí)行,僅為代碼提供信息用在這個 main.py 加多兩行,如下所示:

micropython如何使用

    第一行表明使用 pyb 模塊,這個模塊包含了控制開發(fā)板的所有函數(shù)和類。


    第二行打開了藍色的 LED:先是在 pyb 模塊中使用了 LED 類,創(chuàng)建了 LED 4 的實例,然后將其點亮


    第四步:重置開發(fā)板


    為運行這個小小的腳本,我們需要保存并關(guān)閉 main.py文件,然后在 USB 設(shè)備中退出(或者卸載),就像退出移動磁盤一樣。


    當設(shè)備安全退出或解除掛載后就來到了實現(xiàn)功能的地方:按下板上的復位鍵將重置開發(fā)板并運行寫好的程序。黑色的復位按鍵位于右邊,USB 接口下。當按下復位鍵后綠色的 LED 將快速閃爍,然后藍色的 LED 保持長亮。


    0x04 TPYBoard單片機開發(fā)板實用案例


    實例一:點亮LEDS


    pyboard 板上最容易實現(xiàn)的事情莫過于點亮板上附帶的小燈。連接開發(fā)板,按照上篇教程中提到的登錄方法,就可與在解釋器中開始點亮 LED 燈了,代碼如下:

myled = pyb.LED(1)
myled.on()
myled.off()

    這些命令將控制 LED 的亮和滅。


    這種方式不錯,不過我們將嘗試讓其更智能化。在你擅長的文本編輯器里打開 pyboard 里邊的 MAIN.PY 文件,寫入或粘貼如下的代碼。如果你是 python 新手,那么希望從此開始你能對 python 有正確的認識印象。

led = pyb.LED(2)
while True:
   led.toggle()
   pyb.delay(1000)

    當你保存了文件后,按一下rst鍵,pyboard上的綠色LED將持續(xù)閃爍。

    實例二:TPYboard控制LCD5110顯示6x8字符


    先看一下LCD5110針腳含義吧(注意:LCD5110的針腳有些不一樣的)


    TPYBoard的針腳與5110的針腳對應(yīng)關(guān)系如下:


    TPYBoard       LCD5110    memo
    ————————————————————————————
    # any   Pin        => RST       Reset pin (0=reset, 1=normal)
    # any   Pin        => CE        Chip Enable (0=listen for input,   1=ignore input)
    # any   Pin        => DC        Data/Command (0=commands, 1=data)
    #   MOSI          => DIN       data flow (Master out, Slave in)
    #   SCK           => CLK       SPI clock
    # 3V3   or any Pin  => VCC       3.3V logic voltage (0=off, 1=on)
    # any   Pin        => LIGHT     Light (0=on, 1=off)
    #   GND           => GND


    還是看不明白的話,直接上針腳編號吧


    TPYBoard       LCD5110    memo
    ————————————————————————————
    Y10        => RST       Reset pin (0=reset, 1=normal)
    Y11        => CE        Chip Enable (0=listen for input,1=ignore input)
    Y9         => DC        Data/Command (0=commands, 1=data)
    X8         => DIN       data flow (Master out, Slave in)
    X6         => CLK       SPI clock
    VCC
    Y12        => LIGHT     Light (0=on, 1=off)
    GND

micropython如何使用

    接線ok后,可運行main.py了。

micropython如何使用

    main.py源代碼:

#main.py
import pyb
import upcd8544
from machine import SPI,Pin
  
def main():
    SPI    = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
    #DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
    #CLK =>SPI(1).SCK  'X6' SPI clock
    
    RST    = pyb.Pin('Y10')
    CE     = pyb.Pin('Y11')
    DC     = pyb.Pin('Y9')
    LIGHT  = pyb.Pin('Y12')
    lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
    
    lcd_5110.lcd_write_string('Hello Python!',0,0)
    lcd_5110.lcd_write_string('Micropython',6,1)
    lcd_5110.lcd_write_string('TPYBoard',12,2)
    lcd_5110.lcd_write_string('v102',60,3)
    lcd_5110.lcd_write_string('This is a test of LCD5110',0,4)
    
  
if __name__ == '__main__':
    main()

讀到這里,這篇“micropython如何使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI