打印

ARM7进中断

[复制链接]
1851|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
he119|  楼主 | 2008-8-21 09:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的板是S3C44B0,
我写了一个定时器中断程序,可是不管怎么样都进不了中断,后来我写了一个和书本上要模一样的程序也不能进中断,这是什么原因?


我自己写的程序如下,希望大家多多指教!

#include"INC/44B.H"
#include"INC/OPTION.H"
#define uchar unsigned char




unsigned char LED=0;
uchar i=0;
uchar a=0;
uchar c=0;




void  __irq Time_Do(void)
    {
        uchar asdf;
    
    rI_ISPC=BIT_TIMER0;
    
    

        switch(LED)
        {
            case 0:    rPDATC=rPDATC&(1<<1);c=1;LED++;break;
            
            case 1: rPDATC=rPDATC&(1<<2);c=1;;LED++;break;
            
            case 2: rPDATC=rPDATC&(1<<3);c=1;;LED=0;break;
            default :LED=0;break;
            }
    }
        






void Init(void)
{
    //rPDATC=0X0000;                        //设置LED为熄灭状态
    //rPCONC=0X5555;                        //LED的设置
    
    i++;
    pISR_TIMER0=(int)Time_Do;
    rINTMSK=~(BIT_GLOBAL|BIT_TIMER0);    //开中断屏蔽
    //rINTCON=0X5;                        //设置为普通中断
    
    
    rTCFG0=0x0ff;                        //分频值
    rTCFG1=0X04;                        //1/32
    rTCNTB0=0XFFFF;                        //设置周期
    rTCON=0X02;                            //首次手动进入
    rTCON=0X01;                            //进行自动装载状态
    
    
    /*rTCFG0=0xa4;//MLCK/{32*(164+1)}=1.25*1000,预分频值为164
    rTCFG1=0X04;//除法器值为32
    rTCNTB0=0X04e2;//总定时为0.1S
    rTCON=0x02;
    rTCON=0X09;*/
    a=3;

    }
    
    
    
    
        



Main()
{
    Init();
    while(1);
    }
            
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
有些变量是后来调试加上去的!

相关帖子

沙发
dld2| | 2008-8-21 10:25 | 只看该作者

re

没有跑飞吗?

CPSR里面有IRQ和FIQ的开关,看看在boot程序里是否打开了。

使用特权

评论回复
板凳
he119|  楼主 | 2008-8-21 10:36 | 只看该作者

中断

默认不是IRQ吗?

使用特权

评论回复
地板
dadong| | 2008-8-23 12:36 | 只看该作者

re

 rI_ISPC=BIT_TIMER0;实在Time_D0函数里,还是应该在init函数里,我猜的

使用特权

评论回复
5
he119|  楼主 | 2008-8-23 15:57 | 只看该作者

在Time_D0函数里

这个是进了中断后才除掉的

使用特权

评论回复
6
armecos| | 2008-8-24 07:33 | 只看该作者

中断出问题的几率太大了,

稍不留神就出错,根本原因就是对中断理解不全面,细节处理不到位,按照以下万能模板的步骤操作,能保证你不犯低级错误,一次就成功,而且极度抽象,适合各种体系架构的中断系统。
详见《ecos中断》

更多内容,详见:
《培训系列“丛书”》
www.armecos.com
-----------------------------------
More details, see:
《"Series Books" of Training》
www.armecos.com

使用特权

评论回复
7
he119|  楼主 | 2008-8-25 18:27 | 只看该作者

只有《ecos增值包》这本书吧

怎么没有看见呢,只有---《ecos增值包》这本书吧!

使用特权

评论回复
8
armecos| | 2008-8-25 22:14 | 只看该作者

最新最完整版本,请访问www.armecos.com

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

43

帖子

0

粉丝