武林教你學(xué)PIC32(三)教你用庫(kù)函數(shù)寫中斷按鍵
我接觸的32位單片機(jī):STM32,LM3S都有庫(kù)函數(shù),利用庫(kù)函數(shù)能夠加快項(xiàng)目進(jìn)度,不需要去底層查看寄存器等等。PIC32的庫(kù)函數(shù)位置在:
D:Program FilesMicrochipMPLAB C32pic32-libsperipheral
如果你安裝在C盤,改下路徑就可以了,我們可以到了各個(gè)外設(shè)都封裝好了。網(wǎng)絡(luò)上有個(gè)庫(kù)函數(shù)說(shuō)明書,我網(wǎng)絡(luò)不好下載不了,就把地址發(fā)出來(lái)吧:
http://hades.mech.northwestern.edu/images/5/5e/32-bit-Peripheral-Library-Guide.pdf
下面就教大家使用庫(kù)函數(shù)做中斷按鍵觸發(fā)LED亮滅
從按鍵的連接看到其并沒(méi)有輸入電平CN的功能,好在開發(fā)板上把所有引腳都引出來(lái)了,我們選擇JB插槽處1端口,也就是PG9/CN11,如圖所示,當(dāng)然其他的端口也行,只要有輸入電平CN的功能就好。
編程步驟是:
//第一步:STEP 1.配置端口方向
PORTSetPinsDigitalOut(IOPORT_B,BIT_10);//LED1
mPORTBClearBits(BIT_10);//LED1=0
PORTSetPinsDigitalIn(IOPORT_G, BIT_9);//PG9設(shè)置輸入
//第二步:設(shè)置引腳上拉
mCNOpen(CONFIG, PINS, PULLUPS);
temp = mPORTGRead();//讀一下消除外界影響
//第三步:配置中斷,使能中斷,優(yōu)先級(jí)
ConfigIntCN(INTERRUPT);
//最后開中斷表
INTEnableSystemMultiVectoredInt();