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