只要启用FlashProtectSet(0,FlashExecuteOnly)程序就不行了!
在8962上测试。
/****************************************Copyright (c)**************************************************** ** Guangzhou ZHIYUAN electronics Co.,LTD. ** ** http://www.embedtools.com ** **--------------File Info--------------------------------------------------------------------------------- ** File Name: GPIO_IN_OUT.c ** Last modified Date: 2007-09-20 ** Last Version: v1.0 ** Description: Stellaris系列单片机GPIO口操作 ** **-------------------------------------------------------------------------------------------------------- ** Created By: Zhou Hai Xin ** Created date: 2007-09-20 ** Version: v1.0 ** Descriptions: 扫描按键是否按下,如果按键按下则点亮LED指示灯,否则熄灭LED指示灯。 ** **-------------------------------------------------------------------------------------------------------- ** Modified by: ** Modified date: ** Version: ** Description: ** *********************************************************************************************************/
#include "hw_memmap.h" #include "hw_types.h" #include "gpio.h" #include "sysctl.h" #include "systick.h" #include "FLASH.h"
#define KEY1 GPIO_PIN_2 /* 定义KEY1 */ #define LED3 GPIO_PIN_6 /* 定义LED3 */
/********************************************************************************************************* ** 函数原形:int main(void) ** 功能描述:通过判断KEY1有没有按下,按下则点亮LED3,否则熄灭LED3。 ** 参数说明:无 ** 返回值: 0 *********************************************************************************************************/ int main(void) { SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); /* 使能GPIO PB口 */ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); /* 使能GPIO PE口 */ GPIODirModeSet(GPIO_PORTE_BASE, KEY1, GPIO_DIR_MODE_IN); /* 设置连接KEY1的PD4为输入 */ GPIODirModeSet(GPIO_PORTB_BASE, LED3, GPIO_DIR_MODE_OUT); /* 设置连接LED3的PD7为输出 */
GPIOPadConfigSet(GPIO_PORTE_BASE, KEY1, /* 设置KEY1强度和类型 */ GPIO_STRENGTH_4MA, /* 4mA的输出驱动强度 */ GPIO_PIN_TYPE_STD); /* 设置为推挽管脚 */ GPIOPadConfigSet(GPIO_PORTB_BASE, LED3, /* 设置LED3的驱动强度和类型 */ GPIO_STRENGTH_4MA, /* 4mA的输出驱动强度 */ GPIO_PIN_TYPE_STD); /* 设置为推挽管脚 */
if (GPIOPinRead(GPIO_PORTE_BASE, KEY1)) 如果KEY1按下就不启动保护 { FlashProtectSet(0,FlashExecuteOnly); } while (1) { if (GPIOPinRead(GPIO_PORTE_BASE, KEY1)) { /*读KEY1引脚的值,并判断,如果为 高,则熄灭LED3 */ GPIOPinWrite(GPIO_PORTB_BASE, LED3, LED3); }else { /* 否则点亮LED3 */ GPIOPinWrite(GPIO_PORTB_BASE, LED3, ~LED3); } } /* return 0; */ } /********************************************************************************************************* END FILE *********************************************************************************************************/
|