中断(定时器)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

查询方式:

#include "config.h"

#define LED 1<<17

void Time0Init(void)

{

T0TC=0;

T0PR = 0;

T0MCR = 0x03;

T0MR0 = Fpclk/2;

T0TCR = 0x01;

}

int main(void)

{

PINSEL0 = 0x00000000;

IO0DIR = LED;

Time0Init();

while(1)

{

while((T0IR&0x01) == 0);

T0IR = 0x01;

if((IO0SET&LED) == 0)

IO0SET = LED;

else

IO0CLR = LED;

}

return 0;

}

中断:

#include "config.h"

#define LED 1<<17

void __irq IRQ_TIMER0(void) {

if((IO0PIN & LED)==0)

IO0SET=LED;

else

IO0CLR=LED;

T0IR=0x01;

VICVectAddr=0x00;

}

int main (void)

{

PINSEL1=0X00;

IO0DIR= 1<<17;

T0TC=0;

T0PR=0;

T0MCR=0x03;

T0MR0=Fpclk;

T0TCR=0x01;

IRQEnable();

VICIntSelect=VICIntSelect &(~(1<<4));

VICVectCntl0=0x20|4;

VICVectAddr0=(uint32)IRQ_TIMER0;

VICIntEnable=(1<<4);

while(1);

return 0;

}

相关文档
最新文档