专栏中心

EEPW首页 > 专栏 > arm9开发2-定时器

arm9开发2-定时器

发布人:mayer 时间:2009-07-15 来源:工程师 发布文章
arm9开发2-定时器

 

又是这样,先忙一个晚上,没有结果,但在第二天很快就把事情搞定了。终于啊,定时器的定时方法弄完了,但在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;

                   }

*/

         }

}

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

全球首款真正的RISC-V架构人工智能笔记本电脑

WINNT_2000下直接写端口 的VC++源程序

Altium 在中国发布 Altium Develop —— 标志着其正式从传统许可证合规模式转型

超高速非易失性存储器(UltraRAM):后硅时代存储器的可行解决方案?

腾辉电子:原材料供应紧张,CCL市场迎来涨价潮

求职!

gdnarixj 2005-08-31

分子束外延(MBE)技术制备量子比特

windows版的解压缩RAR程序(含解密文件)

xiaoqi编写的字模软件

资源下载 2007-03-27

并口示波器小软件Port 1.0

英伟达称 AI芯片市场规模2027年或达1万亿美元,誓要拿下全部市场份额

三星计划2026年扩产HBM后段制程,聚焦HCB技术

英特尔加码先进封装业务:马来西亚先进封装基地 2026 年投产,EMIB 技术迎来重大升级

全球首座 6 英寸磷化铟光子芯片工业晶圆厂正式动工

NVIDIA整合Groq技术,AI芯片初创企业出路何在?

智能计算 2026-03-18
更多 培训课堂
更多 焦点
更多 视频

技术专区