arm rtx教程_第一个RTX运用程序 - RL-ARM 实时库用户指南

本文介绍了如何在ARM RTX实时系统中创建并同步两个任务。通过os_dly_wait实现定时,os_evt_wait_or和os_evt_set进行任务间的通信,展示了一个任务1等待任务2完成,然后各自延时执行的循环流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将操作写入到死循环中,不可预知地重复执行两个程序。

首先,系统函数 os_dly_wait()任务暂停几个系统时间间隔。RTX核通过对ARM处理器片上定时器的编程来实现系统定时器,默认情况下,系统间隔10ms,使用0号定时器,不过这可以调整。

系统函数 os_evt_wait_or的作用是用于让task1等待task2完成,而 os_evt_set作用是传送信号给task2。

这个例子中使用的是3号事件标志。task2必须在task1完成20ms之后才能启动。同样的函数可以在task2等待task1以及传送信号给task1时使用。以下列举了运行RTX例程所有的要求:

/* Include type and function declarations for RTX */

#include "rtl.h"/* id1, id2 will contain task identifications at run-time */

OS_TID id1, id2;/* Forward declaration of tasks. */

void task1 (void) __task;

void task2 (void) __task;void task1 (void) __task

{/* Obtain own system task identification number */id1 = os_tsk_self(); /* Create task2 and obtain its task identification number */id2 = os_tsk_create (task2, 0); for (;;){/* ... place code for task1 activity here ... */ /* Signal to task2 that task1 has compelted *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值