CC3200——外部中断

CC3200的外部中断配置类似于STM32,关键注意事项包括单独使能每个外设时钟,设置中断引脚为输入模式,分步骤正确使能中断,并在SDK的button_if.c中利用库函数进行中断处理,通过函数指针实现自定义中断服务,中断处理后记得清除中断标志。
摘要由CSDN通过智能技术生成

基本都和STM32的中断一样,主要注意以下几点

1、多个外设时钟的使能不能使用或关系,只能一个一个的调用函数进行使能,不然会导致程序卡死。

    MAP_PRCMPeripheralClkEnable(PRCM_GPIOA1, PRCM_RUN_MODE_CLK); //外设时钟不支持或
    MAP_PRCMPeripheralClkEnable(PRCM_GPIOA2, PRCM_RUN_MODE_CLK);

2、外部中断的引脚设置成输入模式。

3、使能中断的步骤

//Enable GPIO Interrupt
MAP_GPIOIntClear(GPIOA2_BASE,GPIO_PIN_6);//先清除中断标志
MAP_IntPendClear(INT_GPIOA2);  //清除之前已经触发但是没有处理的中断
MAP_IntEnable(INT_GPIOA2);    //使能中断源所在的分组
MAP_GPIOIntEnable(GPIOA2_BASE,GPIO_PIN_6);    //使能中断引脚

在4中的函数中,还包括使能中断的剩余步骤

MAP_GPIOIntTypeSet(GPIOA1_BASE,GPIO_PIN_5,GPIO_RISING_EDGE);//中断触发方式

MAP_IntPriorityGroupingSet(0);//中断分组,这一步可以另外单独写在主函数中。

MAP_IntPrioritySet(INT_GPIOA1, INT_PRIORITY_LVL_1);//中断优先级

MAP_GPIOIntRegister(GPIOA1_BASE, GPIOs3IntHandler);//注册中断处理函数

//最后,可以再清除一次中断标志,并使能中断。
MAP_GPIOIntClear(GPIOA2_BASE,GPIO_PIN_6);//先清除中断标志
MAP_GPI
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值