UCOSIII软件定时器
2024-08-31 19:17:48
API函数
//创建
void OSTmrCreate (OS_TMR *p_tmr,
CPU_CHAR *p_name,
OS_TICK dly,
OS_TICK period,
OS_OPT opt,
OS_TMR_CALLBACK_PTR p_callback,
void *p_callback_arg,
OS_ERR *p_err);
//删除
CPU_BOOLEAN OSTmrDel (OS_TMR *p_tmr,
OS_ERR *p_err);
//获取剩余时间
OS_TICK OSTmrRemainGet (OS_TMR *p_tmr,
OS_ERR *p_err);
//启动
CPU_BOOLEAN OSTmrStart (OS_TMR *p_tmr,
OS_ERR *p_err);
//获取当前定时器状态
OS_STATE OSTmrStateGet (OS_TMR *p_tmr,
OS_ERR *p_err);
//停止
CPU_BOOLEAN OSTmrStop (OS_TMR *p_tmr,
OS_OPT opt,
void *p_callback_arg,
OS_ERR *p_err);
举例
OSTmrCreate((OS_TMR *)&tmr, //定时器
(CPU_CHAR *)"tmr", //定时器名字
(OS_TICK )20, //20*10=200ms
(OS_TICK )100, //100*10=1000ms
(OS_OPT )OS_OPT_TMR_PERIODIC, //周期模式
(OS_TMR_CALLBACK_PTR)tmr_callback,//定时器回调函数
(void *)0, //参数为0
(OS_ERR *)&err); //返回的错误码
//定时器的回调函数
void tmr_callback(void *p_tmr, void *p_arg)
{
static u8 tmr_num=0;
tmr_num++; //定时器执行次数加1
printf("定时器运行结束\r\n");
}
int main()
{
OSTmrStart(&tmr, &err); //开启定时器
OSTmrStop(&tmr, OS_OPT_TMR_NONE, 0, &err); //关闭定时器
return 0;
}
实验现象
最新文章
- Swift_2基础
- [转]Spring3 MVC + jQuery easyUI 做的ajax版本用户管理
- Ubuntu中添加eclipse
- 洛谷 P1009 阶乘之和 Label:高精度
- HDU 4996 Revenge of LIS(DP)
- System.Web.HttpRequestBase转HttpWebRequest
- SQL Server 执行计划中的扫描方式举例说明
- umbraco使用VS安装
- nodejs小问题:express不是内部或外部命令(转载)
- C#&;JQuery非缓存式无刷新临时存储数据之仿购物车功能
- Phonegap 3.0 拍照 出错的说明
- 【动态规划】XMU 1032 装配线问题
- html5 postMessage解决跨域、跨窗口消息传递[转载]
- Java基础学习笔记一 Java介绍
- java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) excel 工具框架
- 移动端Html5控制布局
- 仿B站项目——(1)计划,前端工程
- Node内核基本自带模块fs 文件的读写
- IP基础知识与分配实现
- pynput使用简单说明
热门文章
- [转]Windows内存堆内容整理总结
- qtcreator 添加 cppreference 离线文档
- IDEA启动Springboot时,解决报错java.lang.NoClassDefFoundError: javax/servlet/Filter
- idea搭建简单ssm框架的最详细教程(新)
- Spring cloud微服务安全实战-6-10sentinel之热点和系统规则
- Pytorch 类别平衡化处理
- plsql if
- 密钥密码体系CA,CSC,CV
- spring cloud集成canal
- bat启动OpenOffice4