GD32F427/F407領(lǐng)航者開(kāi)發(fā)板學(xué)習(xí)教程—07 狀態(tài)燈

????大家好,我是凌智君。
????這一節(jié)課主要給大家講解一下?tīng)顟B(tài)燈的實(shí)現(xiàn)和應(yīng)用。廢話不多說(shuō),直接開(kāi)始。
????一、實(shí)驗(yàn)?zāi)康模?br>
????學(xué)習(xí)如何配置單片機(jī)引腳實(shí)現(xiàn)狀態(tài)燈。
????二、實(shí)現(xiàn)現(xiàn)象:
????可以使用LED燈代表不同的狀態(tài),程序以兩個(gè)狀態(tài)為例,就緒態(tài)和運(yùn)行態(tài)。
????三、實(shí)驗(yàn)原理:
????問(wèn)題1:什么是狀態(tài)機(jī)?
? ? 原因:?狀態(tài)機(jī)由狀態(tài)寄存器和組合邏輯電路構(gòu)成,能夠根據(jù)控制信號(hào)按照預(yù)先設(shè)定的狀態(tài)進(jìn)行狀態(tài)轉(zhuǎn)移,是協(xié)調(diào)相關(guān)信號(hào)動(dòng)作、完成特定操作的控制中心。
? ? 問(wèn)題2:LED燈的電路原理是什么?
????原因:見(jiàn)LED等實(shí)驗(yàn)課內(nèi)容。
? ? 問(wèn)題3:程序是如何實(shí)現(xiàn)的?
? ??先配置多個(gè)引腳,初始化配置成為輸出模式,并且默認(rèn)輸出低電平:
? ? 每次都通過(guò)庫(kù)函數(shù)配置引腳高低電平輸出太麻煩了,進(jìn)行一個(gè)宏定義,這樣只寫(xiě)宏定義就可以了,重新定義一下高低電平的表達(dá)方式:
????狀態(tài)機(jī)實(shí)現(xiàn)函數(shù),函數(shù)有一個(gè)輸入?yún)?shù),輸入?yún)?shù)滿足函數(shù)里面的執(zhí)行條件,才能有對(duì)應(yīng)的操作,有點(diǎn)類似 switch case 的用法,這里寫(xiě)的最簡(jiǎn)單的方式,隨著后續(xù)課程的深入,逐漸將C語(yǔ)言的一些用法融入進(jìn)來(lái)。
????在LED.h里面聲明兩個(gè)狀態(tài),1代表LED3的運(yùn)行,2代表LED4的運(yùn)行,在實(shí)際應(yīng)用過(guò)程中,可以寫(xiě)成對(duì)應(yīng)的執(zhí)行函數(shù)或者動(dòng)作。
????在執(zhí)行函數(shù)里面調(diào)用對(duì)應(yīng)的狀態(tài)碼,實(shí)現(xiàn)對(duì)應(yīng)的狀態(tài)。
????
????這節(jié)課主要是以兩個(gè)LED燈的方式簡(jiǎn)單描述了一下?tīng)顟B(tài)機(jī),在實(shí)際項(xiàng)目中,狀態(tài)機(jī)遠(yuǎn)遠(yuǎn)比這個(gè)麻煩,這里帶大家入門(mén),樹(shù)立一個(gè)概念。好了,這節(jié)就到這里了。
配套視頻鏈接:
待更新
開(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ù)交流群)