这中断是咋回事??

2019-03-24 12:18发布

最近在调CC1101,中断本来就已经调好了的,,,无奈又出毛病了,,,找不出哪有毛病,就重新建了一个工程,单独做个中断,,就是LAUNCHPAD上面那两个按钮,按一下进入中断把灯点亮.
结果竟然不行......也找不出毛病在哪.......

#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_ints.h"
#include "inc/hw_sysctl.h"
#include "driverlib/sysctl.h"
#include "driverlib/debug.h"
#include "driverlib/gpio.c"
#include "driverlib/pin_map.h"
#include "driverlib/rom.h"
#include "driverlib/interrupt.h"
void gpiof(void)                                         //中断处理
{
  GPIOPinIntClear(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_4);  
  GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2,0xff);   //亮
  SysCtlDelay(16881720);
  GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2,0);   //灭
  
}

int main()
{
  ROM_SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_XTAL_16MHZ |
                       SYSCTL_OSC_MAIN);
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
  GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2);
  GPIOPinTypeGPIOInput(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_4);   //貌似以前测试的时候,设不设置成输入不影响中断的检测
  IntEnable(INT_GPIOF);
  GPIOPinIntEnable(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_4);     //两个按钮,上电是高,按下是低.
  GPIOIntTypeSet(GPIO_PORTF_BASE,GPIO_PIN_0|GPIO_PIN_4,GPIO_FALLING_EDGE);
  IntMasterEnable();   
  while(1);
}

startup里面也声明好了:

extern void gpiof(void);
    gpiof,                      // GPIO Port F

几个月前做着还可以,,,今天怎么不行了?? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
Study_Stellaris
2019-03-24 15:52
< 与中断有关的 NVIC 时钟使能一下.
仔细检查 startup.s 里边是否对应了 ISR.
另外,可以尝试用软件触发中断试试,看能不能进去.

一周热门 更多>

相关问题

    相关文章