// 基于LM3S驱动库的Stellaris系列单片机GPIO模板程序 // 包含必要的头文件 #include #include #include #include #include #include // 将较长的标识符定义为较短的形式 #define SysCtlPeriEnable SysCtlPeripheralEnable #define SysCtlPeriDisable SysCtlPeripheralDisable #define GPIOPinTypeIn GPIOPinTypeGPIOInput #define GPIOPinTypeOut GPIOPinTypeGPIOOutput // 定义按键 #define KEY_PORT SYSCTL_PERIPH_GPIOG #define KEY_PIN GPIO_PORTG_BASE , GPIO_PIN_5 #define KeyGet() GPIOPinRead(KEY_PIN) // 防止JTAG失效 void jtagWait(void) { SysCtlPeriEnable(KEY_PORT); // 使能按键所在的GPIO端口 GPIOPinTypeIn(KEY_PIN); // 设置按键所在管脚为输入 if ( KeyGet() == 0x00 ) // 如果有键按下,则进入 { for (;;); // 死循环,以等待JTAG连接 } SysCtlPeriDisable(KEY_PORT); // 禁止按键所在的GPIO端口 } // 延时 void timeDelay(unsigned long ulVal) { while ( --ulVal != 0 ); } int main(void) { jtagWait(); // 防止JTAG失效,重要! for (;;) { } }