4466|3

196

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

定时与外部中断导致死机 [复制链接]


  配置好INT_TIMER0A定时 和外部出发中断INT_GPIO 单独工程没问题。。

放在一起, 只要一触发外部中断就死机,定时器就不动了
                                                 而且不进入端口中断服务


有遇到着情况的么

最新回复

建议 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB | SYSCTL_PERIPH_GPIOC | SYSCTL_PERIPH_GPIOD | SYSCTL_PERIPH_GPIOE); 这个函数单独使能每一个外设。  详情 回复 发表于 2011-7-31 10:06
 
点赞 关注

回复
举报

918

帖子

0

TA的资源

纯净的硅(中级)

沙发
 

回复 楼主 H_LL 的帖子

建议单步调试一下,看执行哪条指令后死机了,具体是哪种死机。
 
 

回复

196

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

回复 沙发 academic 的帖子

void Timer0A_ISR (void)
{
    TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);                     /*  清除定时器0中断             */
    GPIOPinWrite(GPIO_PORTC_BASE, PINS1, GPIOPinRead(GPIO_PORTC_BASE, PINS1) ^ PINS1);
                                                                        /*  翻转GPIO B6 端口            */
    TimerEnable(TIMER0_BASE, TIMER_A);                                  /* 使能定时器0                  */
}


void
GPIOCIntHandler(void)
{
    GPIOPinIntClear(GPIO_PORTC_BASE, GPIO_PIN_4);
        GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_1,GPIO_PIN_1);
        GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0, GPIOPinRead(GPIO_PORTB_BASE, GPIO_PIN_0) ^ GPIO_PIN_0);
}

int  main (void)
{
    SysCtlClockSet( SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
                            SYSCTL_XTAL_6MHZ );                                 /*  设定晶振为时钟源            */
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB | SYSCTL_PERIPH_GPIOC | SYSCTL_PERIPH_GPIOD | SYSCTL_PERIPH_GPIOE);
        GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1);
        GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE, GPIO_PIN_5 );
        GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1);
        GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE, GPIO_PIN_0 | GPIO_PIN_1);

        GPIOPinTypeGPIOInput(GPIO_PORTC_BASE, GPIO_PIN_4);
    GPIOIntTypeSet(GPIO_PORTC_BASE, GPIO_PIN_4, GPIO_FALLING_EDGE);
    GPIOPinIntEnable(GPIO_PORTC_BASE, GPIO_PIN_4);
    IntEnable(INT_GPIOC);
       
       
        SysCtlPeripheralEnable( SYSCTL_PERIPH_TIMER0 );                     /*  使能定时器0外设             */
    SysCtlPeripheralEnable( SYSCTL_PERIPH_GPIOC        );                      /*  使能GPIOB口外设             */
    IntMasterEnable();                                                  /*  使能全局中断                */
    GPIOPinTypeTimer(TIMER0_BASE, TIMER_A);
        GPIODirModeSet(GPIO_PORTC_BASE, PINS1, GPIO_DIR_MODE_OUT);
                                                                                                                                  /*  设置 GPIO B6为输出口        */
    GPIOPadConfigSet(GPIO_PORTC_BASE, PINS1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);
                                                                                                                               /*  配置端口类型                */
        GPIOPinWrite(GPIO_PORTC_BASE, PINS1, 0);                            /* 初始化IO口                   */
    TimerConfigure(TIMER0_BASE,        TIMER_CFG_32_BIT_PER);                  /*  设置定时器0为周期触发模式   */
    TimerLoadSet(TIMER0_BASE, TIMER_A, SysCtlClockGet() / 2);           /*  设置定时器装载值:定时1/2秒  */
    TimerIntEnable(TIMER0_BASE,        TIMER_TIMA_TIMEOUT);                    /*  设置定时器为溢出中断        */
    TimerEnable(TIMER0_BASE, TIMER_A);                                  /*  使能定时器0                 */
   
        IntEnable(INT_TIMER0A);                                             /*  使能定时器0外设             */

        while (1) {
        ;
    }

只要不触发 中断 程序正常运行。。。 只要触发中断 就死 也不进入中断程序
 
 
 

回复

918

帖子

0

TA的资源

纯净的硅(中级)

4
 

回复 板凳 H_LL 的帖子

建议 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB | SYSCTL_PERIPH_GPIOC | SYSCTL_PERIPH_GPIOD | SYSCTL_PERIPH_GPIOE);
这个函数单独使能每一个外设。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表