GD32F427/F407領(lǐng)航者開(kāi)發(fā)板學(xué)習(xí)教程—05 LED實(shí)驗(yàn)

????大家好,我是凌智君。
????從這一節(jié)課開(kāi)始,正式開(kāi)始學(xué)習(xí)相關(guān)例程,大部分嵌入式教程的第一步都是點(diǎn)燈,我也不例外,這節(jié)課帶著大家點(diǎn)亮第一個(gè)LED。在正式開(kāi)始之前,大概說(shuō)一下學(xué)習(xí)路線:學(xué)應(yīng)用—>學(xué)原理—>深入底層?;揪褪窍韧?,先看,有足夠的理解和興趣之后,進(jìn)行深入講解原理,廢話不多說(shuō),直接開(kāi)始吧。
?一、實(shí)驗(yàn)?zāi)康模?br>
? ? 學(xué)習(xí)如何配置單片機(jī)的GPIO輸出功能。
????二、實(shí)驗(yàn)現(xiàn)象:
????LED3燈間隔1s不停閃爍,具體詳見(jiàn)視頻。
????三、實(shí)驗(yàn)原理
????問(wèn)題1:LED燈為什么會(huì)不停的閃爍?
????原因:LED燈在間隔一段時(shí)間不停的斷電、上電。
????問(wèn)題2:LED燈的電路原理是什么?
????原因:原理圖如下:有控制信號(hào)在不停的控制三極管導(dǎo)通和關(guān)斷,進(jìn)而控制LED燈不停的上電和斷電,高電平(3.3V)三極管導(dǎo)通,低電平(0V)三極管關(guān)斷。

????問(wèn)題3:控制信號(hào)是從哪里來(lái)的?是怎么實(shí)現(xiàn)的?
????原因:控制信號(hào)當(dāng)然是從單片機(jī)引腳輸出的,然后間隔指定的時(shí)間內(nèi)進(jìn)行高低電平的切換,一直循環(huán),然后就會(huì)有剛才的實(shí)驗(yàn)現(xiàn)象了。
????問(wèn)題4:程序是怎么樣寫的呢?
????原因:
????先把引腳初始化配置成為輸出模式,并且默認(rèn)輸出低電平:
????每次都通過(guò)庫(kù)函數(shù)配置引腳高低電平輸出太麻煩了,進(jìn)行一個(gè)宏定義,這樣只寫宏定義就可以了,重新定義一下高低電平的表達(dá)方式:
? ? 下面只要間隔1000ms控制引腳輸出不同的電平,就可以實(shí)現(xiàn)閃爍了。
????每次這樣寫有點(diǎn)麻煩,可以用庫(kù)里的函數(shù),可以自動(dòng)翻轉(zhuǎn)電平,先宏定義一個(gè)電平翻轉(zhuǎn)函數(shù)的變量。
在執(zhí)行函數(shù)里面直接調(diào)用就可以了。
? ? 在這里重點(diǎn)提醒一下,凡是使用外設(shè)、延時(shí)等,肯定都需要初始化函數(shù),在系統(tǒng)初始化函數(shù)里面調(diào)用并執(zhí)行。
????這樣就完成了第一個(gè)實(shí)驗(yàn),具體可以詳見(jiàn)程序和視頻。
配套視頻鏈接:
待更新
開(kāi)發(fā)板鏈接:
https://item.taobao.com/item.htm?spm=a230r.1.14.23.711d35176CsxjD&id=694056890543&ns=1&abbucket=15#detail
公眾號(hào):

凌智君:
YunXiang_TechShare
(添加V,有相關(guān)技術(shù)交流群)