天嵌 ARM开发社区

 找回密码
 注册
查看: 2341|回复: 4

请教关于定时中断服务程序的问题

[复制链接]
狂风大作 发表于 2009-10-15 20:24:35 | 显示全部楼层 |阅读模式
小弟才学习arm 遇到了一个问题 自己摸索了几天也不对 特发帖请教 代码如下
#include "stdlib.h"
#include "string.h"
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#include "mmu.h"
void clockint()
{ChangeMPllValue(0x44,1,1);
ChangeClockDivider(1,1);
}

void portinit()
{
rGPBCON=0x00155556;   //设置端口寄存器 B0 T0使能 其它引脚设置为输出
rGPBDAT=0xffffffff;
rGPBUP=0xffffffff;    //设置引脚内部上拉电阻失效
}

void pwm()
{rTCFG0=0xff0200c8;    //设置时钟分频系数以及死区宽度
rTCFG1=0x00000003;    //设及DMA模式选择以及T0时钟分频系数
rTCNTB0=0xffff;       //设置定时器0缓冲寄存器计数值
rTCMPB0=0x2328;       //设置PWM占空比
rTCON=0x0000000a;     //定时器0手动更新 自动重载 关闭死区控制 取消翻转 其它定时器关闭
rTCON=0x00000009;     //定时器0开始工作 自动重载 关闭死区控制 取消翻转 其它定时器关闭
}

void __irq timer0Done()
{rSRCPND=BIT_TIMER0;
rINTPND=rINTPND;
rGPBDAT&=0xffffff1f;}

void Main()
{clockint();
rINTPND=BIT_TIMER0;
rSRCPND=BIT_TIMER0;
rINTMSK=~(BIT_TIMER0);
pISR_TIMER0=(U32)timer0Done;
portinit();
pwm();
while(1)
{;}
}


主要问题是程序没有执行中断服务程序

希望各位知道的朋友解答一下,同时麻烦天嵌的工程师帮忙解答一下。
 楼主| 狂风大作 发表于 2009-10-16 13:01:33 | 显示全部楼层
怎么没人解决呀 各位帮帮新手吧!
回复

使用道具 举报

haodpj99 发表于 2009-11-1 12:46:08 | 显示全部楼层
我也遇到了同类的问题,不仅是定时器,只要是中断,在ADX调试时,都停在一个地方、、、、
急需解答
回复

使用道具 举报

haodpj99 发表于 2009-11-1 12:47:07 | 显示全部楼层
我也遇到了同类的问题,不仅是定时器,只要是中断,在ADX调试时,都停在一个地方、、、、
急需解答
回复

使用道具 举报

亚瑟王 发表于 2009-11-12 18:17:12 | 显示全部楼层
中断目前是没法单步调试的,你们说的停的地方就是中断响应的地方。
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-17 20:34 , Processed in 2.040810 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表