本文共 1247 字,大约阅读时间需要 4 分钟。
TMOS使用说明
TMOS 系统时钟单位为 625us,以 RTC 为基准得到所有需要系统的时间。
任务管理 — 多任务管理方式实际上只有一个任务在运行,但是可以使用任务调度的策略将多个任务进行调度,每个任务占用一定的时间,所有的任务通过时间分片的方式处理。
extern bStatus_t tmos_set_event( tmosTaskID taskID, tmosEvents event );
此函数将建立一个在taskID层生效的,名为event的任务,并立即生效
extern bStatus_t tmos_start_task( tmosTaskID taskID, tmosEvents event, tmosTimer time );
此函数将建立一个在taskID层生效的,名为event的任务,并延迟time*625us后生效。
extern bStatus_t tmos_stop_task( tmosTaskID taskID, tmosEvents event );
此函数将停止一个会在taskID层生效的,名为event的任务,调用此函数后,该事件任务将不会生效。
任务调度函数使用注意事项:
消息管理 — 消息是一个带有数据的事件,用于协议栈各层之间传递数据,支持同时添加多个消息。
extern u8 *tmos_msg_allocate( u16 len );
申请内存函数,发送消息之前需要先给消息申请内存空间。如果返回为NULL,则申请失败。
extern bStatus_t tmos_msg_send( tmosTaskID taskID, u8 *msg_ptr );
发送消息函数,参数为消息想要发送到哪一层的taskID以及消息指针。当调用此函数时,对应参数taskID层的消息事件将会立即置1生效。
extern u8 *tmos_msg_receive( tmosTaskID taskID );
接收消息函数,参数为想要接收哪一层的taskID。
extern bStatus_t tmos_msg_deallocate( u8 *msg_ptr );
释放消息占用内存的函数,处理完消息后需要释放内存占用。
消息管理使用范例:
转载地址:http://xcuhf.baihongyu.com/