流水灯闪烁
ï??#include "systemInit.h"
#include "define.h"
// å?šä?‰LED
#define LED_PERIPH SYSCTL_PERIPH_GPIOD #define LED_PORT GPIO_PORTD_BASE #define LED_PIN GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 |
GPIO_PIN_4 | GPIO_PIN_5
// å?šä?‰KEY
#define KEY_PERIPH SYSCTL_PERIPH_GPIOA #define KEY_PORT GPIO_PORTA_BASE #define KEY_PIN1 GPIO_PIN_0
#define KEY_PIN2 GPIO_PIN_1
#define KEY_PIN3 GPIO_PIN_3
#define KEY_PIN4 GPIO_PIN_4
#define KEY_PIN5 GPIO_PIN_5
// ä??å‡?æ??ï?ˆç?‹åº?å…,å??ï?‰
int main(void)
{
// unsigned char ucVa[]={0xfe,0xfb,0xfd ,0xf7,0xef,0xbf,0xdf,0x7f};
jtagWait( ); // é??æ??JTAG å,?æ?ˆï?Œé‡ è?•ï?•
clockInit( ); // æ??é’Ÿåˆ?å?‹åŒ?ï?šæ??æŒ?ï?Œ6MHz
SysCtlPeriEnable(LED_PERIPH); // ä??èƒ?LEDæ‰?åœ?çš„GPIO ç??å ?
GPIOPinTypeOut(LED_PORT, LED_PIN); // è??ç??LEDæ‰?åœ?çš„ç??è„šä?ºè??出
GPIOPadConfigSet(LED_PORT,LED_PIN, GPIO_STRENGTH_8MA,GPIO_PIN_TYPE_STD_WPU);
//é??åŠ?ç??å?‹
SysCtlPeriEnable(KEY_PERIPH); // ä??èƒ?KEY æ‰?åœ?çš„GPIO ç??å ?
GPIOPinTypeIn(KEY_PORT, KEY_PIN1 | KEY_PIN2 | KEY_PIN3); // è??ç??KEY
æ‰?åœ?ç??è„šä?ºè??å…,
for (;;)
{
if (GPIOPinRead(KEY_PORT, KEY_PIN5)==0x00) // å,‚æ?œæŒ‰ä?‹KEY {
GPIOPinWrite(LED_PORT, GPIO_PIN_3,0); GPIOPinWrite(LED_PORT, GPIO_PIN_2,0);
SysCtlDelay(800 * (TheSysClock / 3000)); GPIOPinWrite(LED_PORT, GPIO_PIN_1,0); GPIOPinWrite(LED_PORT, GPIO_PIN_4,0); GPIOPinWrite(LED_PORT, GPIO_PIN_3,~0); GPIOPinWrite(LED_PORT, GPIO_PIN_2,~0);
SysCtlDelay(800 * (TheSysClock / 3000));
GPIOPinWrite(LED_PORT, GPIO_PIN_0,0); GPIOPinWrite(LED_PORT, GPIO_PIN_5,0); GPIOPinWrite(LED_PORT, GPIO_PIN_1,~0); GPIOPinWrite(LED_PORT, GPIO_PIN_4,~0);
SysCtlDelay(800 * (TheSysClock / 3000)); GPIOPinWrite(LED_PORT, GPIO_PIN_0,~0); GPIOPinWrite(LED_PORT, GPIO_PIN_5,~0);
SysCtlDelay(800 * (TheSysClock / 3000)); GPIOPinWrite(LED_PORT, LED_PIN,0x00);
SysCtlDelay(150 * (TheSysClock / 3000)); GPIOPinWrite(LED_PORT, LED_PIN,0xff); SysCtlDelay(150 * (TheSysClock / 3000)); GPIOPinWrite(LED_PORT, LED_PIN,0x00);
SysCtlDelay(150 * (TheSysClock / 3000));
GPIOPinWrite(LED_PORT, LED_PIN,0xff); SysCtlDelay(150 * (TheSysClock / 3000));
}
}
}