原创 arm9开发2-定时器

2010-4-14 21:34 2046 11 11 分类: MCU/ 嵌入式

又是这样,先忙一个晚上,没有结果,但在第二天很快就把事情搞定了。终于啊,定时器的定时方法弄完了,但在RAM中运行的方法还没弄明白。


下面是源码,有注释,我就不说废话了。但自己觉得重点有:


1、  时钟的设置。


2、  定时器的设置。


3、  中断的用法,主要是中断向量的赋值方法。要看看启动代码,弄明白了那个对以后的学习肯定是大有好处的。


注:不改动的话是用了中断,把中断禁止,再把注释掉的恢复就是查询的用法了。


 


#include "def.h"


#include "2440addr.h"


 


U32 j;


 


void __irq ISR_timer4(void)


{       


         rSRCPND |= 0x00004000;


         rINTPND |= 0x00004000;


         rGPBDAT = 0x01f<<j++;


         if (j>9)


                   j = 5;


}       


 


void Main(void)


{


         U32 i;


         j = 5;


 


//init clock       


         rCLKCON = 0x02110;       //enable clk for timer,pwm and port


         rUPLLCON = 0x00038022;   //UPLL = 96Mhz


         rMPLLCON = 0x00078012;   //MPLL = 256Mhz


         rCLKDIVN = 0X0b;         //HCLK = FCLK/2 = 128Mhz


                                                      //PCLK = HCLK/2 = 64Mhz


                                                      //UCLK = UPLL/2 = 48Mhz


//flag of start                                               


         rGPBCON = 0x155555;      //PORTB5-8 for output


         rGPBUP  = 0x03ff;        //PORTB5-8 pull_up disable


    rGPBDAT = 0x80;


    for(i=0;i<500000;i++)


    ;


    rGPBDAT = 0x01e0;


    for(i=0;i<500000;i++)


    ;


 


//init timer4


         pISR_TIMER4 = (unsigned)ISR_timer4;


        


         rINTMSK &= ~0x00004000;    //intmask_timer4 = 1;


         rTCFG0 = 0x0000C700;     //pre_CLK = PCLK/200 = 320Khz


         rTCFG1 = 0x00030000;     //MUX_CLK = pre_CLK/16 = 20Khz


    rTCNTB4 = 20000;          //f_INT_timer4 = MUX_CLK/20000 = 1hz


        rTCON  = 0x00200000;//timer4:EN_UPDATE  


    rTCON  = 0x00500000;//timer4 start,DIS_UPDATE


   


     for (;;)


         {


/*


                   if (rSRCPND & 0x00004000)


                 {


                            rSRCPND |= 0x00004000;


                            rGPBDAT = 0x0ef<<j++;


                            if (j>9)


                                     j = 5;


                   }


*/


         }


}


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /3 下一条