之前把所有程序都跑了一次後,得到了導師下一步的安排。如下:
1.編寫一個程序,實現在LCD上顯示一個萬年曆,包括年月日 星期 還有室內的溫度。2.編寫一個程序,將原來的交通燈改爲跑馬燈。
期限是這學期。
好吧。一學期編兩個程序。還真是從0做起。雖然是用C編程,但是用的庫函數卻是相應工程開發自帶的API。於是,開始從第一個基礎程序做起,以便熟悉相應的API函數操作。
GPIO 通用輸入輸出函數 函數名真長 參數也是兩三個以上,不習慣。忙乎了大概兩三個小時才基本把常用的六七個函數弄明白,真是白癡透了。此後再去看第一個實驗源代碼,勉強能夠明白。也能在源代碼的基礎上修改,以達到單個輸入控制多個輸出。同時也能基本明確GPIO端口指的什麼了。不過還是比較模糊,這個還呆商榷。此外,創建了屬於自己的第一個keil項目文件,也算值得一記。雖然還是該程序達不到預期目的,失敗了,也算是前進了一小步。爲自己加油吧!堅持!
//GPIO例程:兩隻LED交替閃爍
#include "systemInit.h"
//定義函數
#define GPIOPinTypeIn GPIOPinTypeGPIOInput
#define GPIOPinTypeOut GPIOPinTypeGPIOOutput
//定義LED
#define LED_PERIPH SYSCTL_PERIPH_GPIOA
#define LED_PORT GPIO_PORTG_BASE
#define LED_PINS GPIO_PIN_2|GPIO_PIN_3
//主函數(程序入口)
int main(void)
{
// unsigned char ucVal;
unsigned int ucVal;
jtagWait();
clockInit();
SysCtlPeripheralEnable(LED_PERIPH);
// GPIOPinTypeOut(LED_PORT,LED_PINS);
GPIODirModeSet(LED_PORT,LED_PINS,GPIO_DIR_MODE_OUT);
// 設置連接LED的IO口爲輸出
GPIOPadConfigSet(LED_PORT,LED_PINS,GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_STD_WPU);
// 設置輸出IO口的驅動能力,8mA,帶弱上拉輸出
// ucVal=(0<<2)|(1<<3);
ucVal=0x00;
for(;;)
{
GPIOPinWrite(LED_PORT,LED_PINS,ucVal);
// GPIOPinWrite(LED_PORT,LED_PINS, 0x00);
// ucVal ^=(1<<2)|(1<<3);
ucVal=0xff;
SysCtlDelay(150*(TheSysClock/3000));
// GPIOPinWrite(LED_PORT, LED_PINS, 0xff);
}
}
失敗的代碼,記錄一下。明天繼續~