此文为使用2440的定时器实现延时函数
我将定时器中断配置为10us中断一次,实现了10us步进的延时
一、硬件部分:
参见之前的定时器中断部分。
二、软件部分:
1.添加延时函数
其中time_count为全局变量
void delay_10us(unsigned int count)
{
time_count=0; //init to 0
INTMSK &= ~(1<<10); //mask timer0_Interrupted
while(time_count<count);
INTMSK |= (1<<10); //not mask timer0_Interrupted
}
2.修改定时器初始化函数和中断处理函数
/*
*prescalers=0-255
*中断频率