下游函数调用子系统的运行代码或Stateflow的通过产生一个例子RTOS图(VxWorks的)任务
万博1manbetxSimulink的编码器/异步/中断模板
该任务同步块产卵调用一个函数调用子系统或Stateflow的一个例子RTOS(VxWorks的)任务®图表。通常情况下,您将任务同步的块之间异步中断块和函数调用子系统块或状态流图表。或者,你可以连接任务同步块到具有事件的状态流图的输出端口,输出到Simulin万博1manbetxk中
,被配置为一个函数调用。
该任务同步块:
采用RTOS(VxWorks的)系统调用taskSpawn
产卵一个独立的任务。当任务被激活时,它调用下游函数调用子系统代码或状态流图表。该块调用taskDelete
模型终止时删除任务。
创建一个信号到已连接子系统与块的执行同步。
包裹催生任务无限对于
循环。在循环中,衍生的任务,通过使用侦听信号semTake
。第一次调用semTake
指定NO_WAIT
。此设置允许该任务确定是否第二semGive
函数调用子系统或图表完成之前已经发生。这一顺序表明中断速度过快或任务优先级太低。
生成同步码(例如,semGive()
)。此代码让催生任务运行。反过来任务调用连接函数调用子系统的代码。同步码可以在中断级别运行。该之间的连接异步中断和任务同步块完成的这种操作和触发器执行任务同步一个ISR内的块。
供应绝对时间,如果在下游算法代码块需要它。时间来自于由维护定时器异步中断块或来自一个独立的定时器保持通过与相关联的任务任务同步块。
当你设计你的应用程序,考虑当可以采取连接到下游的函数调用子系统定时器和信号输入值任务同步块。默认情况下,当RTOS(VxWorks的)激活任务的时间和输入数据被读取。对于这种情况下,数据(输入和时间)被同步到任务本身。如果您选择同步此任务与呼叫者任务数据传输选项和任务同步块驱动程序是一个异步中断块,当中断发生时的时间和输入数据被读出(即,内ISR)。对于这种情况,数据与的呼叫者同步任务同步块。