7492|15

13

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

Cortex-M3为什么无法进入中断? [复制链接]

我用的M3S811,但不知道为什么进不了中断?

下面是我的程序:

#include "lm3s811.h"
#include "m3io.h"
#include "driverlib/timer.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "inc/hw_memmap.h"
#include "inc/hw_ints.h"
#include "driverlib/interrupt.h"
void GPIO_Interrupt_Sever();
void Timer0ATimeoutIntHandler();

volatile unsigned long ulLoop;
main()
{
 SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_6MHZ|SYSCTL_OSC_INT4);//设置主时钟PLL
 SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD|SYSCTL_RCGC2_GPIOC);//使能GPIO
 GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE,GPIO_PIN_5);//输出模式
 GPIOPinTypeGPIOOutputOD(GPIO_PORTD_BASE,GPIO_PIN_7);//开漏模式

 IntMasterEnable();//使能全局中断
    SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);//打开定时器
    TimerConfigure(TIMER1_BASE,TIMER_CFG_16_BIT_PAIR|TIMER_CFG_A_PERIODIC);//设置定时器工作方式
    TimerPrescaleSet(TIMER1_BASE,TIMER_A,0x007f);//设置分频
    TimerLoadSet(TIMER1_BASE,TIMER_A,0xffff);//装初值
    TimerIntEnable(TIMER1_BASE,TIMER_TIMA_TIMEOUT);//使能TIMER0A的溢出中断
    TimerIntRegister(TIMER1_BASE,TIMER_A,Timer0ATimeoutIntHandler);//将TIMER0A中断服务进程设置为void Timer0ATimeoutIntHandler(void)
    TimerEnable(TIMER1_BASE,TIMER_A);//打开定时器开始计时
    while(1)
    {
    }
}
void Timer0ATimeoutIntHandler(void)
{
    TimerIntClear(TIMER0_BASE,TIMER_TIMA_TIMEOUT);                //清除中断标志位
while(1)
{
        PC5_0;
  PD7_1;
        for(ulLoop = 0; ulLoop < 200000; ulLoop++)
        {
        }
        PC5_1;//输出高
  PD7_0;
        for(ulLoop = 0; ulLoop < 200000; ulLoop++)
        {
        }
}

}
请各位大侠帮帮忙啊!

最新回复

这个必须顶!!!!!!!!!!!  详情 回复 发表于 2012-3-3 10:22
 
点赞 关注

回复
举报

2751

帖子

0

TA的资源

裸片初长成(初级)

沙发
 

原帖由 bruthroc 于 2011-9-29 13:37 发表 我用的M3S811,但不知道为什么进不了中断?下面是我的程序: #include "lm3s811.h"#include "m3io.h"#include "driverlib/timer.h"#include "driverlib/sysctl.h"#include "driverlib/gpio.h"#include "inc/hw_me ...

 

检查Startup.s里面有没有给中断函数注册

 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 David_Lee 的帖子

看了startup.s文件,但不知道终端是在哪儿注册的,求指教。谢谢了
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

4
 

原帖由 bruthroc 于 2011-9-29 18:43 发表 看了startup.s文件,但不知道终端是在哪儿注册的,求指教。谢谢了

 

https://bbs.eeworld.com.cn/viewthread.php?tid=305860&page=1#pid1185369

 

你可以比较一下官方例程里,用到中断的工程文件中的Startup.s文件,应该可以看明白滴。

 

e.g.:

 

EXTERN  UARTIntHandler

 

DCD     UARTIntHandler              ; UART0 Rx and Tx

 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

5
 

回复 4楼 David_Lee 的帖子

看了一下 startup中确实没有 Timer1A_ISR
我把加进去了 连接出现了问题:
test2.axf: Error: L6218E: Undefined symbol Timer1A_ISR (referred from startup.o).
这怎么解决呢?
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

6
 

原帖由 bruthroc 于 2011-9-29 21:09 发表 看了一下 startup中确实没有 Timer1A_ISR 我把加进去了 连接出现了问题: test2.axf: Error: L6218E: Undefined symbol Timer1A_ISR (referred from startup.o). 这怎么解决呢?

 

EXTERN    Timer1A_ISR

这个要有

DCO     Timer1A_ISR

这个也要有

 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 6楼 David_Lee 的帖子

这两个都添加了 那中断服务函数的名称是 void Timer1A_ISR()吗?我这样用了怎么还不行呀?
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

8
 
问题不是处在 Startup 里边,将 Startup 还原.
打开下边选项卡:

去掉分号,重新编译一下

 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

9
 

那个没有分号,还是不知道怎么弄

 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

10
 
太纠结了

捕获24.JPG (47.11 KB, 下载次数: 0)

捕获24.JPG

24.JPG (42.27 KB, 下载次数: 0)

24.JPG
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

11
 

回复 10楼 bruthroc 的帖子

加上框起来的 *(vtable,+Firsrt)
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

12
 
我把*(vtable, +First)加进去 编译一下又被自动清除了 
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

13
 

请问哪位大侠有写过M3中断的程序呀?

小弟实在是不知怎么解决这个问题,想借鉴一下,看看我的程序是哪儿出错了。

谢谢了!

 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

14
 

回复 13楼 bruthroc 的帖子

用较新的 Keil4 来编译。
其实我们很少在函数中来动态的注册或注销中断函数。
而是在 Startup.s 里边做。
想知道进入中断,最简单的例程是 UART_echo.
 
 
 

回复

1412

帖子

15

TA的资源

版主

15
 

原帖由 bruthroc 于 2011-9-30 11:01 发表 请问哪位大侠有写过M3中断的程序呀?小弟实在是不知怎么解决这个问题,想借鉴一下,看看我的程序是哪儿出错了。谢谢了!

 

interrupt_key_.rar (436.41 KB, 下载次数: 24)

 

 

给你的外部中断按键的例子,是外部中断  EXTI9_5,看看哈

 
个人签名https://bbs.eeworld.com.cn/thread-471646-1-1.html
欢迎加入我的团队
 
 

回复

239

帖子

0

TA的资源

一粒金砂(中级)

16
 
这个必须顶!!!!!!!!!!!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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