时钟节拍 :等于 1/T_TICK_PER_SECOND 秒,用 SysTick_Handler实现,在每次加1时都会检查当前线程的时间片是否用完,以及是否有定时器超时。定时值应该为该值的整数倍。非整数倍或者高精度延时要用读系统时间和硬件定时器来解决

系统时间:rt_tick 的值表示了系统从启动开始总共经过的时钟节拍数,有的状态机就是利用一个自由运行时钟,先记下开始的tick_old,然后每次进入时判断Val=tick_new-tick_old是否符合     要求来实现非阻塞定时。

获取时钟节拍:rt_tick_t rt_tick_get(void)  //用于记录系统的运行时间长短,或者测量某任务运行的时间

void rt_system_timer_init(void)  //硬件定时器,超时调用中断处理函数

void rt_system_timer_init(void) //软件定时器,超时在线程栈调用

rt_err_t rt_timer_detach(rt_timer_t timer);//静态创建对应解绑

rt_timer_t rt_timer_create(const char* name,void (*timeout)(void* parameter),void* parameter,rt_tick_t time,rt_uint8_t flag);//动态创建,flag:单次、周期、软件定时器、硬件定时器

rt_err_t rt_timer_delete(rt_timer_t timer);//对应动态创建的删除。从链表中删除

启动:rt_err_t rt_timer_start(rt_timer_t timer);

停止:rt_err_t rt_timer_stop(rt_timer_t timer);

控制:rt_err_t rt_timer_stop(rt_timer_t timer);//设置单次、周期、查看、设置时间

最新文章

  1. 使用xUnit,EF,Effort和ABP进行单元测试(C#)
  2. 如何离线创建Ionic/cordova项目
  3. MySQL 数据备份与还原
  4. 初始化git远程仓库步骤
  5. 图表控件FlowChart.NET详细介绍及免费下载地址
  6. 解决maven项目update project会更改jdk版本问题
  7. JVM的粗略简述
  8. Python入门(四,高级)
  9. Magento速度优化
  10. iOS 计算 日期 距离 当前 系统的日期 相差 多少
  11. 使用Mou 编写Markdown编辑器博客
  12. openlayers wfs获取要素
  13. Oracle 数据库 Database Express Edition 11g Release 2 (11.2) 错误解决集锦(安装方面)
  14. root cause:org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetException
  15. Python多进程应用
  16. [置顶] xamarin android Fragment实现底部导航栏
  17. Hadoop2.x 体系结构和源码编译
  18. [bzoj4821][Sdoi2017]相关分析
  19. animate动画效果
  20. Nginx 测试环境配置,留作笔记使用

热门文章

  1. kali 安装与配置
  2. 存储过程(Stored Procedure)
  3. C4K Power supply failed?
  4. 微信小程序使用wxParse实现接入富文本编辑
  5. [远古回忆]发现了以前的一些wow截图 这里也备份一下
  6. 【 SSH 整合】Spring、Struts、Hibernate基本整合
  7. Go同步等待组/互斥锁/读写锁
  8. JavaScript对象,函数,作用域
  9. JavaScript - let和var区别
  10. maven打包一直报class not found错误