《基于嵌入式实时操作系统的编程技术》笔记清单:第九章时间管理

《基于嵌入式实时操作系统的编程技术》笔记清单:第三章任务划分.
《基于嵌入式实时操作系统的编程技术》笔记清单:第四章任务设计.
《基于嵌入式实时操作系统的编程技术》笔记清单:第五章中断服务程序设计.
《基于嵌入式实时操作系统的编程技术》笔记清单:第六章行为同步.
《基于嵌入式实时操作系统的编程技术》笔记清单:第七章资源同步.
《基于嵌入式实时操作系统的编程技术》笔记清单:第八章数据通信.
《基于嵌入式实时操作系统的编程技术》笔记清单:第九章时间管理.
《基于嵌入式实时操作系统的编程技术》笔记清单:第十章采集任务设计.

前言

实时操作系统提供了若干时间管理服务函数,可以满足任务在运行过程中对时间管理的需要。在使用时间管理服务函数时,必须十分清楚一个事实:时间管理服务函数以系统节拍为处理单位,实际效果时间与希望时间是有误差的,最坏的情况下误差接近一个系统节拍。因此,时间管理服务函数只能在对时间精度不高的场合,或者时间间隔较长的场合。

本章笔记清单

1. 时间管理服务函数特点

1)以系统节拍为处理单位;
2)最坏情况下,误差接近一个系统节拍;
3)应用于对时间精度不高,或时间间隔较长的场合。

2. 时间服务函数用于控制任务的执行周期
void Mytask(void *pdata)
{
	while(1)
	{
		任务实体代码;
		调用系统延时函数;
	}
}
3.时间服务函数用于控制任务的运行节奏
void Mytask(void *pdata)
{
	while(1)
	{
		获取时间函数;
		第一部分操作代码;
		延时;
		第二部分操作代码;
		延时;
		第三部分操作代码;
		....
	}
}
4. 状态查询
	while(1){
		...
		for( ; ; ){
			关中断;
			temp = count;
			开中断;
			if(temp 不小于10) break;
			OSTimeDly(1);
		}
		...
	}

1)在查询过程中插入延时函数,不断地将PCU交出来,供其它任务使用。
2)等待按键释放,也是查询操作。
3)只需要某种状态的出现不能主动触发信号,就采用查询方法获取信息。
4)相邻两次查询之间的间隔可根据查询精度决定,查询对象变化快,两次查询的时间间隔就越短。
5)如果某种状态必然在短时间(微妙级)发生,不必插入延时。(如:等待A/D转换)

5. 终止周期性任务

1)用超时参数终止周期性任务;

void Mytask(void *pdata)
{
	...
	while(1)
	{
		任务实体;
		OSSemPend(Key_semp, 20, &err); //等待20周期为20个时钟节拍(即任务周期)
		if (err == OS_NO_ERR) break; //如果成功获得键盘信号量,则退出循环
	}
	OSTaskDel(OS_PRIO_SLEF); //删除自身任务
}
//成功获取键盘信号量,则退出循环。

2)场合:生成一个采样收集任务。采样收集任务,循环查询按键是否释放信号量,直到按键释放了信号,任务才算完成,最后删除任务采集任务。
3)调用“有超时限制得等待信号量(或消息)”的系统函数可以实现双重目的,在没有按时获得信号量(或消息)时,起到控制运行周期的作用(与OSTimeDly()效果相同);当成功获得信号量(或消息)时,可以及时退出循环,终止周期性任务。



6.题外话

短视频、短微博,信息碎片化,把人们的思维模式、思维形式和关注点都切断在几十秒甚至十几秒当中,长期如此“训练”,思维模式、视野会越来越局限在片段,缺乏处理复杂事物长链逻辑线的能力。容易纠缠、执着在细节里,丧失对事物全局的把握、整体的观照。往往“只见树木,不见森林”。

——转自水木然学社公众号文章《短视频流行背后:人类正在批量生产精神病!》

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《基于嵌入式实时操作系统的程序设计技术 第2版》是一本关于嵌入式实时操作系统(RTOS)程序设计的技术手册。该书以嵌入式系统的特点为基础,详细介绍了使用RTOS进行程序设计的方法和技术。以下是本书的主要内容回答。 本书的第一章介绍了嵌入式系统和实时操作系统的基本概念以及它们的特点和应用领域。同时还介绍了一个实时操作系统的基本组成部分,包括任务管理器、中断服务例程和资源管理器等。 第二章详细介绍了嵌入式实时操作系统的任务管理和调度技术。其中包括任务的创建、销毁和切换等操作,以及不同的调度算法和优先级设置。 第三章讨论了嵌入式实时操作系统的中断服务例程设计和处理。该章重点介绍了中断服务例程的编写和中断的嵌套处理,以及中断的优先级和中断控制器的配置。 第四章探讨了嵌入式实时操作系统的通信和同步技术。该章介绍了进程间通信(IPC)和任务间同步的方法和技术,包括信号量、消息队列和邮箱等。 第五章介绍了嵌入式实时操作系统的定时器和时钟管理技术。其中包括定时器的配置和使用,以及时钟的同步和校准等。 第六章讨论了嵌入式实时操作系统的内存管理和存储技术。该章介绍了内存的分配和回收方法,以及存储器的管理和保护技术。 最后一章总结了全书的内容,提供了一些实际案例和应用实例,以帮助读者更好地理解和应用所学的嵌入式实时操作系统的程序设计技术。 总体而言,《基于嵌入式实时操作系统的程序设计技术 第2版》通过详细介绍了嵌入式实时操作系统的各个方面,为读者提供了一个全面了解和掌握嵌入式实时操作系统程序设计的技术手册。无论是初学者还是有经验的嵌入式系统开发者,都能从中获得宝贵的知识与经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值