XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
xwos::DSwt< TCpu > 模板类 参考

动态软件定时器 更多...

#include <DSwt.hxx>

xwos::DSwt< TCpu > 的协作图:

Public 成员函数

 DSwt (xwsq_t flag=XWOS_SWT_FLAG_NULL)
 动态软件定时器构造函数
 
virtual ~DSwt ()
 动态软件定时器析构函数
 
xwer_t getDSwtCtorRc ()
 获取动态软件定时器构造的结果
 
xwer_t start (xwtm_t origin, xwtm_t period)
 启动软件定时器
 
xwer_t stop ()
 停止软件定时器
 
struct xwos_swtgetXwosObj ()
 获取XWOS对象指针
 
xwer_t acquire ()
 
xwer_t release ()
 

Protected 成员函数

virtual void swtAlarmFunction ()
 

静态 Private 成员函数

static void sSwtAlarmFunction (struct xwos_swt *swt, DSwt *obj)
 

Private 属性

xwos_swt_d mSwtDesc
 
xwer_t mCtorRc
 

详细描述

template<xwid_t TCpu = 0>
class xwos::DSwt< TCpu >

动态软件定时器

在文件 DSwt.hxx34 行定义.

构造及析构函数说明

◆ DSwt()

template<xwid_t TCpu = 0>
xwos::DSwt< TCpu >::DSwt ( xwsq_t  flag = XWOS_SWT_FLAG_NULL)
inline

动态软件定时器构造函数

参数
[in]flag软件定时器的标志,默认值:定时器为单次触发的

在文件 DSwt.hxx45 行定义.

46 {
48 }
xwos_swt_d mSwtDesc
Definition DSwt.hxx:37
xwer_t mCtorRc
Definition DSwt.hxx:38
static xwer_t xwos_swt_create(xwos_swt_d *swtd, xwsq_t flag)
XWOS API:动态方式创建软件定时器
Definition swt.h:183
函数调用图:

◆ ~DSwt()

template<xwid_t TCpu = 0>
virtual xwos::DSwt< TCpu >::~DSwt ( )
inlinevirtual

动态软件定时器析构函数

在文件 DSwt.hxx52 行定义.

static xwer_t xwos_swt_delete(xwos_swt_d swtd)
XWOS API:删除动态方式创建的软件定时器
Definition swt.h:196
函数调用图:

成员函数说明

◆ getDSwtCtorRc()

template<xwid_t TCpu = 0>
xwer_t xwos::DSwt< TCpu >::getDSwtCtorRc ( )
inline

获取动态软件定时器构造的结果

注解
动态对象的创建可能会因为内存不足构造失败。

在文件 DSwt.hxx58 行定义.

58{ return mCtorRc; }

◆ start()

template<xwid_t TCpu = 0>
xwer_t xwos::DSwt< TCpu >::start ( xwtm_t  origin,
xwtm_t  period 
)
inline

启动软件定时器

参数
[in]origin软件定时器的初始时间
[in]period软件定时器的周期时间
注解
  • 上下文:任意

定时器会在调用此C++API的CPU上开始运行。

在文件 DSwt.hxx68 行定义.

69 {
70 xwer_t rc;
71
72 if (TCpu == Cpu::getLocalCpuId()) {
73 rc = xwos_swt_start(mSwtDesc.swt, origin, period,
75 } else {
76 rc = -EHOSTUNREACH;
77 }
78 return rc;
79 }
static xwid_t getLocalCpuId()
获取当前CPU的ID
Definition Cpu.hxx:64
static void sSwtAlarmFunction(struct xwos_swt *swt, DSwt *obj)
Definition DSwt.hxx:99
#define EHOSTUNREACH
Host is unreachable
Definition errno.h:131
signed long xwer_t
Definition type.h:554
static xwer_t xwos_swt_start(struct xwos_swt *swt, xwtm_t origin, xwtm_t period, xwos_swt_f callback, void *arg)
XWOS API:启动软件定时器
Definition swt.h:280
void(* xwos_swt_f)(struct xwos_swt *, void *)
XWOS API:软件定时器回调函数指针类型
Definition swt.h:76
struct xwos_swt * swt
Definition swt.h:82
函数调用图:

◆ stop()

template<xwid_t TCpu = 0>
xwer_t xwos::DSwt< TCpu >::stop ( )
inline

停止软件定时器

注解
  • 上下文:任意

在文件 DSwt.hxx85 行定义.

85{ return xwos_swt_stop(mSwtDesc.swt); }
static xwer_t xwos_swt_stop(struct xwos_swt *swt)
XWOS API:停止软件定时器
Definition swt.h:297
函数调用图:

◆ getXwosObj()

template<xwid_t TCpu = 0>
struct xwos_swt * xwos::DSwt< TCpu >::getXwosObj ( )
inline

获取XWOS对象指针

在文件 DSwt.hxx89 行定义.

89{ return mSwtDesc.swt; }

◆ acquire()

template<xwid_t TCpu = 0>
xwer_t xwos::DSwt< TCpu >::acquire ( )
inline

增加引用计数

在文件 DSwt.hxx92 行定义.

函数调用图:

◆ release()

template<xwid_t TCpu = 0>
xwer_t xwos::DSwt< TCpu >::release ( )
inline

减少引用计数

在文件 DSwt.hxx93 行定义.

函数调用图:

◆ swtAlarmFunction()

template<xwid_t TCpu = 0>
virtual void xwos::DSwt< TCpu >::swtAlarmFunction ( )
inlineprotectedvirtual

软件定时器报警函数

在文件 DSwt.hxx96 行定义.

这是这个函数的调用关系图:

◆ sSwtAlarmFunction()

template<xwid_t TCpu = 0>
static void xwos::DSwt< TCpu >::sSwtAlarmFunction ( struct xwos_swt swt,
DSwt< TCpu > *  obj 
)
inlinestaticprivate

在文件 DSwt.hxx99 行定义.

99{ obj->swtAlarmFunction(); }
函数调用图:
这是这个函数的调用关系图:

结构体成员变量说明

◆ mSwtDesc

template<xwid_t TCpu = 0>
xwos_swt_d xwos::DSwt< TCpu >::mSwtDesc
private

软件定时器对象描述符

在文件 DSwt.hxx37 行定义.

◆ mCtorRc

template<xwid_t TCpu = 0>
xwer_t xwos::DSwt< TCpu >::mCtorRc
private

软件定时器构造的结果

在文件 DSwt.hxx38 行定义.


该类的文档由以下文件生成: