新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 从Flash和SRAM中触发中断的过程示例(二)

从Flash和SRAM中触发中断的过程示例(二)

作者: 时间:2013-09-24 来源:网络 收藏
-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0px">  LDR lr,=_main

  MOV pc,lr

  END

  这段代码在第一条指令链接到ivt.s。如果建立堆栈指针失败,将导致数据取消,因此堆栈的建立应当在跳转到C main()前建立。

  C 代码

  这样的话,TIMER1中相关的寄存器就被建立起来了,当寄存器匹配的时候,TIMER将会中断CPU的核。TIMER1 将会以60M Hz的速度运行。这段代码已经在实验板上测试过。实验板使用10 M Hz的晶振,同样地设置PLL。有关定时器的操作请参考LPC2106、5、4用户手册相关的章节。ISR的寄存器将为空,然后根据需要由后面的用户来设置。_irq编译关键字被用来定义IRQHandler()函数,作为一个IRQ ISR。

  执行下面的指令,将会执行 init.s 中的C main

  LDR lr,=_main

  MOV pc,lr

  下面是C代码:

  /*********************************************************************

  函数功能说明

  ************************************************************************/

  _irq void IRQHandler(void);

  void feed(void);

  void Initialize(void);

  /*****************************************************************

  头文件

  *************************************************************/

  #include “LPC210x.h”

  /*************************************************************

  MAIN



关键词: Flash SRAM 触发中断

评论


相关推荐

技术专区

关闭