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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2392|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

[MaixPy快速上手]點(diǎn)亮LED

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
點(diǎn)燈程序作為學(xué)習(xí)所有開發(fā)板的第一個(gè)程序,就像學(xué)所有編程語言都是先學(xué) hello world 一樣,具有著神圣的意義

1. 電路

眾所周知, 點(diǎn)亮一個(gè) LED 需要一個(gè)電源, 一個(gè)電阻, 一個(gè) LED 燈泡, 在 Maix Dock 開發(fā)板上, 有三個(gè) LED, 線路如下:



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

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

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


可能你曾經(jīng)用過一些單片機(jī),在手冊上都規(guī)定了引腳和片上外設(shè)功能(就是芯片內(nèi)部集成的外設(shè),比GPIOI2CSPI等)的綁定,或者重映射。比如規(guī)定了I2C只能Pin9Pin10,啟動(dòng)了重映射功能后,只能用Pin11Pin12

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

因?yàn)橛辛诉@個(gè)強(qiáng)大的映射功能, 所以在使用引腳時(shí),需要增加一步映射的步驟:
  1. from fpioa_manager import fm    # 導(dǎo)入庫
  2. fm.register(28, fm.fpioa.GPIO0)
復(fù)制代碼
這里我們將引腳 28 映射為了 GPIO0 的功能, 執(zhí)行了這句命令后,引腳28和GPIO0就映射(綁定)好了,要取消映射(解綁),則需要調(diào)用fm.unregister函數(shù),具體看API文檔,這里不介紹


另外,Pin 和 外設(shè)只能唯一對(duì)應(yīng), 不能一對(duì)多,需要對(duì)同一個(gè)外設(shè)或者引腳重復(fù)映射,否則程序可能產(chǎn)生難以發(fā)現(xiàn)的錯(cuò)誤(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)
復(fù)制代碼



按照前面運(yùn)行代碼的方法在終端里面運(yùn)行代碼, 會(huì)發(fā)現(xiàn) LED 燈被點(diǎn)亮了!

接下來我們分析代碼:

  • 從 fpioa_manager 包導(dǎo)入fm 對(duì)象,主要用于引腳和外設(shè)的映射

  • 從包 Maix 導(dǎo)入了 GPIO 這個(gè)類, GPIO 外設(shè)相關(guān)操作

  • 定義一個(gè)變量io_led_red,值為13,即Pin13/IO13, 具體 LED 的引腳連接到了芯片的哪個(gè)引腳,請?jiān)谇懊娴拈_發(fā)板介紹中看原理圖

  • 使用fm(fpioa manager 的縮寫)這個(gè)內(nèi)置的對(duì)象來注冊芯片的外設(shè)和引腳的對(duì)應(yīng)關(guān)系, 這里 fm.fpioa.GPIO0 是 K210 的一個(gè) GPIO 外設(shè)(注意區(qū)分 GPIO(外設(shè)) 和引腳(實(shí)實(shí)在在的硬件引腳)的區(qū)別 ), 所以把 fm.fpioa.GPIO0 注冊到了 引腳 IO13;

  • 然后定義一個(gè) GPIO 對(duì)象led_r, 具體參數(shù)看 GPIO API 文檔, 在左邊側(cè)邊欄查找。

  • 使用 led_r.value(1) 或者 led_r.value(0) 來設(shè)置高低電平即可, 因?yàn)檫@里設(shè)置了低電平, 根據(jù)上面的原理圖可知低電平導(dǎo)通,LED 燈亮

到這里已經(jīng)可以點(diǎn)燈了, 現(xiàn)在可以自己嘗試用 for 循環(huán)來實(shí)現(xiàn) LED 閃爍或者流水燈~做出不同的變換效果










分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本精品一区二区三区视频 | 午夜不卡一区二区 | 四虎影院在线观看av | 国产综合久久 | 久久在线 | 天天操 天天操 | 国产乱码一二三区精品 | 亚洲综合婷婷 | 免费国产视频 | av久久| 精精久久 | 亚洲国产激情 | 手机av在线 | 一本色道精品久久一区二区三区 | 欧美在线资源 | 精品国模一区二区三区欧美 | 黄色一级电影在线观看 | 国产在线精品一区二区三区 | 亚洲一二三区免费 | 美女啪啪国产 | 亚洲手机视频在线 | 久久久久精 | 国产精品久久久久久久久久免费看 | 亚洲国产精品91 | 天天操操操操操 | 日韩电影免费在线观看中文字幕 | 日本在线网站 | 欧美啊v在线观看 | 欧美日韩一区二区视频在线观看 | 干干干操操操 | 国产精品s色 | 成人片免费看 | 国产精品久久av | 污视频在线免费观看 | 午夜电影福利 | 国产精品a久久久久 | 视频1区2区| 成人免费看 | 在线免费观看黄视频 | 99精品视频在线 | xxxxx黄色片 欧美一区免费 |