上篇专题中描述的是采用查询的方式完成定时器Timer1模模式程序的设计,本篇则介绍采用中断的方式完成定时器Timer1模模式程序的设计。查询的方式,上篇已经介绍过就是在主程序中不断的查询中断标志是否被置位,置位后则进行相应处理。中断的方式则为,当中断产生时,CC2530在硬件的作用下将程序跳转到中断中断服务程序去执行。先贴出中断方式的程序:
#include <ioCC2530.h>
#define uint8 unsigned char
#define uint16 unsigned int
#define BIT(x) (1 << x)
#define LED1 P1_0
/****************************/
//函数声明
/****************************/
void initial(void);
/**************************************/
//主函数
/**************************************/
void main(void)
{
initial();
while(1)
{
}
}
/****************************/
//初始化函数
/****************************/
void initial(void)
{
/*设置P1.0为输出模式*/
P1DIR ^= BIT(0);
/*关闭LED1*/
LED1 = 1;
/*选择外部石英晶振*/
CLKCONCMD &= ~0x40;