计数器用于记录某些事件的发生。通常,当发生一定数量的这些事件时,系统需要采取一些行动。而警报就是用于将计数器连接到动作的机制——任务的激活、事件的设置、用户定义的警报回调例程的运行或递增软件计数器。具体来讲,每个警报只与一个计数器相关联,但多个警报可以使用同一个计数器。当计数器达到用户定义的值时,警报到期。警报到期导致执行定义的操作(例如任务激活或设置事件)。执行何种操作取决于配置的警报的静态属性,配置时我们可以选择以下几种属性:
激活任务
设置事件
递增用户自定义的软件计数器
调用警报回调函数。
注意:警报回调函数是在IncrementCounter()的上下文中执行的,而IncrementCounter一般是在与硬件计数器关联的计数器的中断函数中执行,所以中断执行函数不会知道回调的堆栈使用情况。那么我们就要避免在回调中做大量的计算和函数调用,而只是设置全局变量等一些简单的事情。