久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2355|回復: 0
收起左側

[MaixPy快速上手]點亮LED

[復制鏈接]
ID:942298 發表于 2021-6-24 09:45 | 顯示全部樓層 |閱讀模式
點燈程序作為學習所有開發板的第一個程序,就像學所有編程語言都是先學 hello world 一樣,具有著神圣的意義

1. 電路

眾所周知, 點亮一個 LED 需要一個電源, 一個電阻, 一個 LED 燈泡, 在 Maix Dock 開發板上, 有三個 LED, 線路如下:

M5[F7TJVK2%OSV366N3(DX3.png

比如我們希望紅燈點亮, 即LED_R連接的這個 LED, 圖中可以看到 LED 的正極已經連接了 3.3V 電源, 所以我們只要讓 LED_R 為低電平 LED 即可點亮。

注意, 這LED_R是給這個引腳取的一個別名, 實際上是連接到芯片的一個引腳,比如Pin13或者說IO13

2. 外設到引腳的映射: FPIOA(現場可編程 IO 陣列, Field Programmable Input and Output Array)


可能你曾經用過一些單片機,在手冊上都規定了引腳和片上外設功能(就是芯片內部集成的外設,比GPIO、I2C、SPI等)的綁定,或者重映射。比如規定了I2C只能Pin9Pin10,啟動了重映射功能后,只能用Pin11Pin12

但是 MaixPy 所使用的硬件 K210 的片上外設對應的引腳(硬件引腳)是可任意映的,相比之下 K210 硬件設計和軟件設計的自由度更大。 比I2C可以使Pin11Pin12,也可以改成其它任意引腳
[color=rgba(0, 0, 0, 0.501960784313726)]注意要區分 GPIO 和 IO的區別, IO也可以叫Pin 也就是引腳,是芯片引出來的硬件引腳, 而GPIO是一種外設,可以控制這些Pin/IO 的外設

因為有了這個強大的映射功能, 所以在使用引腳時,需要增加一步映射的步驟:
  1. from fpioa_manager import fm    # 導入庫
  2. fm.register(28, fm.fpioa.GPIO0)
復制代碼
這里我們將引腳 28 映射為了 GPIO0 的功能, 執行了這句命令后,引腳28和GPIO0就映射(綁定)好了,要取消映射(解綁),則需要調用fm.unregister函數,具體看API文檔,這里不介紹


另外,Pin 和 外設只能唯一對應, 不能一對多,需要對同一個外設或者引腳重復映射,否則程序可能產生難以發現的錯誤(BUG)

3. 代碼

我們控制 LED 需要使用到 GPIO
程序如下:
  1. from fpioa_manager import fm
  2. from Maix import GPIO

  3. io_led_red = 13
  4. fm.register(io_led_red, fm.fpioa.GPIO0)

  5. led_r=GPIO(GPIO.GPIO0, GPIO.OUT)
  6. led_r.value(0)
復制代碼



按照前面運行代碼的方法在終端里面運行代碼, 會發現 LED 燈被點亮了!

接下來我們分析代碼:

  • 從 fpioa_manager 包導入fm 對象,主要用于引腳和外設的映射

  • 從包 Maix 導入了 GPIO 這個類, GPIO 外設相關操作

  • 定義一個變量io_led_red,值為13,即Pin13/IO13, 具體 LED 的引腳連接到了芯片的哪個引腳,請在前面的開發板介紹中看原理圖

  • 使用fm(fpioa manager 的縮寫)這個內置的對象來注冊芯片的外設和引腳的對應關系, 這里 fm.fpioa.GPIO0 是 K210 的一個 GPIO 外設(注意區分 GPIO(外設) 和引腳(實實在在的硬件引腳)的區別 ), 所以把 fm.fpioa.GPIO0 注冊到了 引腳 IO13;

  • 然后定義一個 GPIO 對象led_r, 具體參數看 GPIO API 文檔, 在左邊側邊欄查找。

  • 使用 led_r.value(1) 或者 led_r.value(0) 來設置高低電平即可, 因為這里設置了低電平, 根據上面的原理圖可知低電平導通,LED 燈亮

到這里已經可以點燈了, 現在可以自己嘗試用 for 循環來實現 LED 閃爍或者流水燈~做出不同的變換效果










回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产伦一区二区三区 | 日本在线免费看最新的电影 | 精品国产一区二区 | 毛片高清 | 亚洲国产日韩欧美 | 天天操夜夜操 | 国产小网站 | 97av视频在线| 亚洲电影一区 | 国产精品久久久久久吹潮 | 五月天天丁香婷婷在线中 | 久久伊| 中文字幕在线观看第一页 | 日韩中文在线观看 | 另类视频在线 | 国产精品99免费视频 | 国产精品久久久久久久久久久久久 | 色免费视频 | 一级毛片在线播放 | 日本欧美在线观看视频 | 亚洲中午字幕 | 天天躁日日躁狠狠的躁天龙影院 | 精品日韩欧美一区二区 | 亚洲精品视频久久 | 天天综合永久入口 | 激情久久网 | 1级毛片 | 亚洲一区二区免费视频 | 久久er精品 | 7777久久 | 亚洲欧美日韩在线 | 亚洲精品短视频 | 国产高清一二三区 | 91在线看 | 久久久蜜臀国产一区二区 | 国产精品2区| 国产一区二区三区免费视频 | 国产精品美女久久久 | 国产精品亚洲一区二区三区在线 | 91精品久久久久久久久 | 国产av毛片 |