Alarm定义
使用中断ISR可以构建以不同速率激活任务的系统。然而,对于复杂的系统,这种方式效率不高且不切实际。alarm(警报)提供了一种更方便、更灵活的调度系统的方式。
alarm由两部分组成:
- 一个计数器
- 一个或多个与计数器关联的alarm
alarm指定当达到特定的计数器值时要执行的动作。系统中的每个计数器都可以附加任意数量的alarm。
当计数器的值等于附加在该计数器上的警报值时,称该警报已经过期。在到期时,OS将执行与警报相关的操作。动作可以是激活一个任务,执行一个警报回调例程,设置一个事件或驱动一个软件计数器。
警报到期值可以定义为相对于实际计数器值或绝对值。如果将警报过期定义为相对于实际计数器,则称为相对警报。如果定义为绝对值,则称为绝对警报。
警报可以配置为一次性过期。一次过期的警报称为单次警报。
警报也可以设置为定时过期。这种类型的警报称为循环警报。
配置alarm
alarm的配置涉及三个部分,分别是命名,关联一个计数器和指定alarm的行为,alarm的行为可以关联多达4中行为:
- 激活一个任务
- 设置事件
- 执行回调函数
- 增加计数器

本文详细介绍了AUTOSAR OS中的Alarm机制,包括Alarm的定义、配置和使用。Alarm提供了一种灵活的任务调度方式,可以用于激活任务、设置事件、执行回调以及驱动级联计数器。Alarm分为绝对和相对警报,可以设置为单次或周期性触发。文章还阐述了如何激活、设置、自启动和取消Alarm。
订阅专栏 解锁全文
1269

被折叠的 条评论
为什么被折叠?



