⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iar-

📁 IAR_example_EasyARM8962.zip
💻
字号:
/****************************************Copyright (c)****************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name:               GPIO_INT.c
** Last modified Date:      2007.12.24 
** Last Version:            V1.1
** Description:             Stellaris系列单片机GPIO口中断操作
** 
**--------------------------------------------------------------------------------------------------------
** Created By:              Zhou Hai Xin
** Created date:            2007.09.20 
** Version:                 V1.0
** Descriptions:            程序正常运行时,熄灭LED指示灯。当按键按下时,进入中断,点亮LED指示
**		 	                灯。按键放开后,又熄灭LED指示灯。
**
**--------------------------------------------------------------------------------------------------------
** Modified by:             Kang qinhua
** Modified date:           2008.01.12
** Version:                 V1.1
** Description:
**
*********************************************************************************************************/
#include "hw_memmap.h"
#include "hw_types.h"
#include "hw_ints.h"
#include "sysctl.h"
#include "systick.h"
#include "gpio.h"
#include "interrupt.h"

#define KEY1   GPIO_PIN_2                                               /*  定义KEY1                    */
#define LED3   GPIO_PIN_6                                               /*  定义LED3                    */

/*********************************************************************************************************
** Function name:           GPIO_Port_E_ISR 
** Descriptions:            首先清除中断标志,再点亮LED3。
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          NONE
** Created By:              Zhou Hai Xin
** Created date:            2007.09.20
**--------------------------------------------------------------------------------------------------------
** Modified by:              
** Modified date:          
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void GPIO_Port_E_ISR(void)
{
    GPIOPinIntClear(GPIO_PORTE_BASE, KEY1);                             /*  清除中断标志                */
    GPIOPinWrite(GPIO_PORTB_BASE, LED3, ~LED3);                         /*  点亮LED3                    */
}

/*********************************************************************************************************
** Function name:           main 
** Descriptions:            熄灭LED3,并等待按键的中断。
** input parameters:        NONE
** output parameters:       NONE
** Returned value:          NONE
** Created By:              Zhou Hai Xin
** Created date:            2007.09.20
**--------------------------------------------------------------------------------------------------------
** Modified by:              
** Modified date:           
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
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的PE2为输入     */
    GPIODirModeSet(GPIO_PORTB_BASE, LED3, GPIO_DIR_MODE_OUT);           /*  设置连接LED3的PB6为输出     */

    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);                                /*  设置为推挽管脚              */

                                                                        
    GPIOIntTypeSet(GPIO_PORTE_BASE, KEY1, GPIO_LOW_LEVEL);              /*  设置KEY1中断的触发方式为低  */
                                                                        /*  电平触发                    */	
    GPIOPinIntEnable(GPIO_PORTE_BASE, KEY1);                            /*  使能KEY1中断                */
    IntEnable(INT_GPIOE);                                               /*  使能GPIO PE 口中断          */

    while (1) {
        GPIOPinWrite(GPIO_PORTB_BASE, LED3, LED3);                      /*  熄灭LED3                    */
    }
}

/*********************************************************************************************************
 END FILE
*********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -