[RTT例程练习] 4.4 定时器控制
来源:互联网 发布:rete算法源码 编辑:程序博客网 时间:2024/06/04 18:54
定时器可以通过rt_timer_control
(),来改变定时器的某些特性,比如定时时间。
这里,一开始定时周期是100,并且在程序中使用
rt_tick_get()-tick来确认定时周期是否如预设那样。当8次之后,使用
rt_timer_control
(),将定时周期改为3000。实际效果通过打印的tick信息和直观感受都可以验证。程序:
#include <rtthread.h>static rt_timer_t timer1;//static rt_timer_t timer2;static rt_uint8_t count;static rt_tick_t tick;static void timeout1(void* parameter){ rt_tick_t timeout = 3000; rt_kprintf("periodic timer is timeout\n"); rt_kprintf("the time set is %d\n", (rt_tick_get()-tick)); tick = rt_tick_get(); count ++; if (count >= 8) { rt_timer_control(timer1, RT_TIMER_CTRL_SET_ONESHOT, (void *)&timeout); rt_timer_control(timer1, RT_TIMER_CTRL_SET_TIME, (void *)&timeout); count = 0; }}int rt_application_init(){ timer1 = rt_timer_create("timer1", timeout1, RT_NULL, 100, RT_TIMER_FLAG_PERIODIC); if (timer1 != RT_NULL) rt_timer_start(timer1); return 0;}
结果:
periodic timer is timeoutthe time set is 100periodic timer is timeoutthe time set is 100periodic timer is timeoutthe time set is 100periodic timer is timeoutthe time set is 100periodic timer is timeoutthe time set is 100periodic timer is timeoutthe time set is 100periodic timer is timeoutthe time set is 100periodic timer is timeoutthe time set is 100periodic timer is timeoutthe time set is 3000periodic timer is timeoutthe time set is 3000periodic timer is timeoutthe time set is 3000periodic timer is timeoutthe time set is 3000
- [RTT例程练习] 4.4 定时器控制
- [RTT例程练习] 4.1 定时器基本使用
- [RTT例程练习] 4.2 动态定时器
- [RTT例程练习] 总目录
- [RTT例程练习] 1.3 线程让出
- [RTT例程练习] 1.4 线程优先级抢占
- [RTT例程练习] 2.6 互斥锁 mutex
- [RTT例程练习] 2.7 邮箱 mailbox
- [RTT例程练习] 2.9 事件机制event
- [RTT例程练习] 1.1 动态线程创建,删除
- [RTT例程练习] 1.2 静态线程除初始化与脱离
- [RTT例程练习] 1.5 优先级相同线程轮转调度
- [RTT例程练习] 1.6 线程优先级反转原理
- [RTT例程练习] 1.7 优先级翻转之优先级继承
- [RTT例程练习] 2.8 消息队列message queue
- [RTT例程练习] 3.3 静态内存管理,内存池mempool
- [RTT例程练习] 6.1 Finsh 的基本使用
- [RTT例程练习] 6.2 在 Finsh 中运行自定义函数
- 第六周上机任务项目6-工资类
- mysql 修改root密码
- CSS3 Background-clip
- vs2010连接数据库,函数SQLConnect中返回-1的解决办法
- 通过COM组件方式实现java调用C#写的DLL文件 转
- [RTT例程练习] 4.4 定时器控制
- java电话面试资料01
- java IO
- namespace作用域
- 80X86标志寄存器及比较和跳转指令 zf pf sf cf of df cmp je jne jb jnb ja jna
- jQuery-强大的jQuery选择器 (详解)
- mfco42d.dll 文件替换为新版本
- 自动装箱和拆箱的使用(autoboxing/unboxing)
- hdu3400 两次三分