linkboy & WCH處理器移植入門
開始點(diǎn)亮LED燈
第一章節(jié)我們已經(jīng)用串口打印代替GPIO輸出,能運(yùn)行l(wèi)inkboy程序了。本章我們繼續(xù)移植,看看如何讓開發(fā)板驅(qū)動(dòng)真正的LED亮滅。首先到WCH官網(wǎng)找到這個(gè)示例文件夾:

進(jìn)入EXAM文件夾,找到GPIO的示例,并打開:

把GPIO相關(guān)的函數(shù)復(fù)制出來,放到vos_c.h文件里:

這里邊雖然增加了GPIO的操作,但是忽略了參數(shù)i,也就是不管linkboy界面上把LED接到哪個(gè)針腳,實(shí)際上都是從GPIOA0這個(gè)針腳輸出。編譯下載到開發(fā)板,并把開發(fā)板上的LED1插針接到GPIOA0,可以看到開發(fā)板上的LED1亮滅不停,表明初步完成了GPIO的移植。
接下來我們要處理參數(shù)i了,這個(gè)i就是圖形界面連接的針腳序號(hào),比如D4針腳,那么傳進(jìn)來的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),因此開發(fā)板上的LED1需要接到PA14,LED2需要接到PB2(18/16=1 18%16=2),程序下載到開發(fā)板,并接好LED1和2,可以看到兩個(gè)LED分別按照對(duì)應(yīng)的頻率閃爍。
-
移植
+關(guān)注
關(guān)注
1文章
392瀏覽量
28508 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5389瀏覽量
100823 -
ViewChr
+關(guān)注
關(guān)注
0文章
2瀏覽量
6505 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1348瀏覽量
41362
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【RTT大賽作品連載】AB32VG1評(píng)估板到貨控制彩燈測(cè)試

【RTT大賽作品連載】CH32V103開發(fā)板資料及上電首測(cè)

【RTT大賽作品連載】中科藍(lán)訊AB32VG1開發(fā)板開箱篇

【RTT大賽作品連載】linkboy面向WCH移植(1)

【RTT大賽作品連載】linkboy面向WCH移植(5)

【RTT大賽作品連載】linkboy面向AB32V移植(2)

【星核計(jì)劃】上傳FPGA大賽作品,領(lǐng)取電子發(fā)燒友專屬上傳福利!
【文章連載】RT-Thread創(chuàng)新應(yīng)用大賽文章匯總
【有獎(jiǎng)活動(dòng)】RT-Thread創(chuàng)新應(yīng)用大賽作品連載征文
【RTT大賽作品連載】linkboy面向AB32V移植(3)

【RTT大賽作品連載】linkboy面向AB32V移植(4)

評(píng)論