我一直在阅读有关开发Autosar软件组件的内容。关于内部行为,我仍然对WaitPoint
和Event
感到困惑。 AUTOSAR软件组件中WaitPoint
和Event
之间的主要区别是什么?如果你能根据它们向我展示一个c代码样本,那将会很棒。
答案 0 :(得分:2)
AUTOSAR中的RunnableEntity
对软件组件有两种不同的含义。要么触发WaitPoint
,要么会解析RunnableEntity
。如果DataReceivedEvent
被触发,例如通过RunnableEntity
,Rte将激活您的WaitPoint
,然后您可以调用Rte_Read()来读取数据。第二种情况是为RunnableEntity
定义DataReceivedEvent
并让WaitEvent()
解析它。如果然后调用Rte_Receive(),函数将阻塞,直到收到新数据。
通常,这样的函数由OSEK SetEvent
实现,如果Rte接收数据,它将使用OSEK WaitEvent()
函数来唤醒调用<td>
的任务。