定时器的使用
来源:互联网 发布:阿里云cdn签名 编辑:程序博客网 时间:2024/06/16 20:53
定时器的使用
定时器/计数器用来计数外设时钟(PCLK)或外部时钟的周期,可以选择在规定的时间处产生中断或执行其他操作,由4个匹配寄存器的值决定。它也包含4个捕获输入,用来在输入信号变化时捕捉定时器的瞬时值,也可以选择产生中断。
void Timer0Init(void)
{
T0TC = 0; // 定时器设置为0
T0PR = 0; // 时钟不分频
T0MCR = 0x03; // 设置T0MR0匹配后复位T0TC,并产生中断标志
T0MR0 = (Fpclk / OS_TICKS_PER_SEC);
T0TCR = 0x01; // 启动定时器
}
切记:要在使用时复位中断,即T1IR = 1;
延时函数:
void delayMs(DWORD delayinUs)
{
T1TCR = 0x02;/* reset timer */
T1PR = 0x00; /* set prescaler to zero */
T1MR0 = delayInUs * (Fpclk / 1000000);
T1IR = 0xff; /* reset all interrrupts */
T1MCR = 0x04; /* stop timer on match */
T1TCR = 0x01; /* start timer */
/* wait until delay time has elapsed ,when on match,the register T1TCR will be zero*/
while (T1TCR & 0x01)
{
//OSTimeDly(10);
}
return;
}
- 定时器的使用
- C#定时器的使用
- C#定时器的使用
- java定时器的使用
- 内核定时器的使用
- 定时器的使用
- linux定时器的使用
- linux定时器的使用
- linux定时器的使用
- linux定时器的使用
- 定时器的使用
- C#定时器的使用
- 内核定时器的使用
- 使用glib的定时器
- Linux定时器的使用
- linux定时器的使用
- 定时器的使用
- timer 定时器的使用
- Hive常见问题及处理方法
- 项目实战之集成邮件开发
- ini_set("display_errors","On");和error_reporting(E_ALL);
- c#中堆和栈的区别
- 算法day07
- 定时器的使用
- 菜鸟springboot学习之旅之@RequestBody
- LCA算法模板(离线算法,在线算法)
- 键盘事件
- 公众号涨粉的3大技巧
- 策略模式
- 新浪微博分享出现libc++abi.dylib: terminating with uncaught exception of type NSException微博微信SDK运行编译报错
- 玩手游,别傻傻原价充值!!!
- 质量与生产率的关系