linkboy & WCH處理器移植入門(mén)
開(kāi)始點(diǎn)亮LED燈
第一章節(jié)我們已經(jīng)用串口打印代替GPIO輸出,能運(yùn)行l(wèi)inkboy程序了。本章我們繼續(xù)移植,看看如何讓開(kāi)發(fā)板驅(qū)動(dòng)真正的LED亮滅。首先到WCH官網(wǎng)找到這個(gè)示例文件夾:
進(jìn)入EXAM文件夾,找到GPIO的示例,并打開(kāi):
把GPIO相關(guān)的函數(shù)復(fù)制出來(lái),放到vos_c.h文件里:
這里邊雖然增加了GPIO的操作,但是忽略了參數(shù)i,也就是不管linkboy界面上把LED接到哪個(gè)針腳,實(shí)際上都是從GPIOA0這個(gè)針腳輸出。編譯下載到開(kāi)發(fā)板,并把開(kāi)發(fā)板上的LED1插針接到GPIOA0,可以看到開(kāi)發(fā)板上的LED1亮滅不停,表明初步完成了GPIO的移植。
接下來(lái)我們要處理參數(shù)i了,這個(gè)i就是圖形界面連接的針腳序號(hào),比如D4針腳,那么傳進(jìn)來(lái)的i就等于4。查詢WCH手冊(cè)可知,WCH的GPIO包括PA0-PA15,PB0-PB15,…… 因此我們可以把PA0-PA15編號(hào)為0-15,PB0-PB15編號(hào)為16-31,以此類推。體現(xiàn)在程序中,就是這樣處理:
將引腳序號(hào)i除以16后,得到引腳的名字(ABCD…),將i對(duì)16取余數(shù)后,得到引腳的序號(hào)(0-15)。現(xiàn)在就可以獨(dú)立控制多個(gè)LED了:
圖中紅燈接到了D14(i=14),綠燈接到了D18(i=18),因此開(kāi)發(fā)板上的LED1需要接到PA14,LED2需要接到PB2(18/16=1 18%16=2),程序下載到開(kāi)發(fā)板,并接好LED1和2,可以看到兩個(gè)LED分別按照對(duì)應(yīng)的頻率閃爍。
-
移植
+關(guān)注
關(guān)注
1文章
379瀏覽量
28150 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5082瀏覽量
97717 -
ViewChr
+關(guān)注
關(guān)注
0文章
2瀏覽量
6459 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1296瀏覽量
40239
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論