📄 readme.txt
字号:
亂嶲徠亃sta_tsk, ext_tsk
=============================================================================
dis_dsp 僨傿僗僷僢僠嬛巭
-----------------------------------------------------------------------------
亂娭悢亃ER dis_dsp(void)
亂堷悢亃void
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
僞僗僋偺僨傿僗僷僢僠傪嬛巭偟傑偡丅 埲屻ena_dsp傪幚峴偡傞傑偱偺娫僨傿僗僷僢僠
嬛巭忬懺偲側傝丄桪愭弴埵偺傛傝崅偄僞僗僋偑幚峴壜擻忬懺偵側偭偰傕丄僨傿僗僷僢
僠偝傟傑偣傫丅偟偐偟妱傝崬傒偼嬛巭偟偰偄側偄偺偱丄妱傝崬傒偼庴偗晅偗傑偡丅
傑偨丄懸偪忬懺偵擖傞壜擻惈偺偁傞僔僗僥儉僐乕儖傕巊偊側偔側傝傑偡丅
亂椺亃 dis_dps()
...
ena_dsp()
亂嶲徠亃ena_dsp
=============================================================================
ena_dsp 僨傿僗僷僢僠嫋壜
-----------------------------------------------------------------------------
亂娭悢亃ER ena_dsp(void)
亂堷悢亃void
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
dis_dsp僔僗僥儉僐乕儖偵傛偭偰嬛巭偝傟偰偄傞僨傿僗僷僢僠傪嫋壜偟傑偡丅
亂椺亃 dis_dps()
...
ena_dsp()
亂嶲徠亃dis_dsp
=============================================================================
chg_pri / ichg_pri 僞僗僋桪愭搙曄峏
-----------------------------------------------------------------------------
亂娭悢亃ER chg_pri(ID tskid, PRI tskpri) 僞僗僋梡
ER ichg_pri(ID tskid, PRI tskpri) 妱傝崬傒僴儞僪儔梡
亂堷悢亃ID tskid 桪愭搙傪曄峏偡傞僞僗僋偺僞僗僋僐儞僩儘乕儖僽儘僢僋傊
偺億僀儞僞
PRI tskpri 桪愭搙
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
tskid 偱巜掕偟偨僞僗僋偺桪愭搙傪 tskpri 偵曄峏偟傑偡丅tskid 偵 TSK_SELF 傪
巜掕偡傞偲丄帺僞僗僋偺桪愭搙傪曄峏偱偒傑偡丅偨偩偟 ichg_pri 偱偼帺僞僗僋偼
巜掕偱偒傑偣傫丅
巜掕偱偒傞桪愭搙偼丄1 (嵟桪愭)偐傜 azconf.h 拞偱掕媊偟偰偁傞 AZ_NPRIORITIES
傑偱偱偡丅桪愭搙偵 TPRI_INI 傪巜掕偡傞偲丄僞僗僋婲摦帪偺桪愭搙偵栠偡偙偲偑
偱偒傑偡丅
僞僗僋偑READY僉儏乕偵偁傞偲偒偼丄懸偪峴楍偺嵟屻傊堏摦偟傑偡丅偙傟偼僞僗僋偺
桪愭搙傪曄偊側偄応崌偱傕摨偠偱偡丅廬偭偰chg_pri僔僗僥儉僐乕儖偵傛傝丄幚峴尃
傪師偺僞僗僋傊搉偡偙偲偑壜擻偱偡丅
亂椺亃 /* 帺僞僗僋傪嵟桪愭偵偡傞 */
er = chg_pri(TSK_SELF, 1)
...
/* 帺僞僗僋傪僞僗僋婲摦帪偺桪愭搙偵栠偡 */
er = chg_pri(TSK_SELF, TPRI_INI);
亂嶲徠亃rot_rdq, sta_tsk, vini_tsk
=============================================================================
rot_rdq / irot_rdq 僞僗僋偺儗僨傿僉儏乕夞揮
-----------------------------------------------------------------------------
亂娭悢亃ER rot_rdq(PRI tskpri) 僞僗僋梡
ER irot_rdq(PRI tskpri) 妱傝崬傒僴儞僪儔梡
亂堷悢亃PRI tskpri 儗僨傿僉儏乕傪夞揮偝偣偨偄桪愭搙
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
tskpri 偱巜掕偟偨桪愭搙偺儗僨傿僉儏乕傪夞揮偝偣傑偡丅儗僨傿僉儏乕偺愭摢偵
偁偭偨僞僗僋偑嵟屻旜偵堏摦偟丄師偺僞僗僋偑愭摢偵側傝傑偡丅偙偺僔僗僥儉
僐乕儖傪堦掕帪娫娫妘偱敪峴偡傞偙偲偵傛傝丄儔僂儞僪儘價儞僗働僕儏乕儕儞僌傪
峴偆偙偲偑偱偒傑偡丅偨偩偟丄僞僀儅僴儞僪儔忋偐傜偙偺僔僗僥儉僐乕儖傪屇傇帪偼丄
irot_rdq 傪巊偭偰偔偩偝偄丅
桪愭搙偲偟偰 TPRI_RUN 傪巜掕偡傞偲丄尰嵼幚峴拞僞僗僋偺桪愭搙偺儗僨傿乕僉儏乕
傪夞揮偟傑偡丅
亂椺亃 irot_rdq(TPRI_RUN)
亂嶲徠亃chg_pri
=============================================================================
rel_wai / irel_wai 懠僞僗僋偺懸偪忬懺夝彍
-----------------------------------------------------------------------------
亂娭悢亃ER rel_wai(ID tskid) 僞僗僋梡
ER irel_wai(ID tskid) 妱傝崬傒僴儞僪儔梡
亂堷悢亃ID tskid 懸偪忬懺傪夝彍偟偨偄僞僗僋偺僞僗僋僐儞僩儘乕儖
僽儘僢僋傊偺億僀儞僞
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
tskid 偱巜掕偝傟偨僞僗僋偑懸偪忬懺偱偁傞偲偒丄偦傟傪嫮惂揑偵夝彍偟丄READY
忬懺傊堏峴偝偣傑偡丅rel_wai 偵傛傝懸偪忬懺偑嫮惂揑偵夝彍偝傟偨僞僗僋偼丄
懸偪偺尨場偲側偭偨僔僗僥儉僐乕儖偺栠傝抣偑 E_RLWAI 偲側傞偺偱丄懸偪偑懠偺
僞僗僋偵傛偭偰嫮惂夝彍偝傟偨偙偲傪抦傞偙偲偑壜擻偱偡丅
亂椺亃 AzTCB other_task;
...
er = rel_wai(&other_task);
亂嶲徠亃slp_tsk, wai_sem
=============================================================================
get_tid 帺僞僗僋偺僞僗僋ID嶲徠
-----------------------------------------------------------------------------
亂娭悢亃ER get_tid(ID* p_tskid)
亂堷悢亃p_tskid 僞僗僋僐儞僩儘乕儖僽儘僢僋傊偺億僀儞僞偺億僀儞僞
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
帺僞僗僋偺僞僗僋ID(AzkiRTOS偺応崌偼丄僞僗僋僐儞僩儘乕儖僽儘僢僋傊偺億僀儞僞)
傪庢摼偟傑偡丅
亂椺亃 ID* pid;
er = get_tid(pid);
亂嶲徠亃sta_tsk, vini_tsk, ref_tsk
=============================================================================
ref_tsk 僞僗僋忬懺偺嶲徠
-----------------------------------------------------------------------------
亂娭悢亃ER ref_tsk(T_RTSK* pk_rtsk, ID tskid)
亂堷悢亃T_RTSK* pk_rtsk 僞僗僋偺忬懺傪曉偡僷働僢僩偺傾僪儗僗
ID tskid 忬懺傪挷傋偨偄僞僗僋偺僞僗僋僐儞僩儘乕儖僽儘僢僋偺
傾僪儗僗
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
tskid 偱巜掕偝傟偨僞僗僋偺忬懺傪挷傋丄pk_rtsk 偱帵偝傟偨傾僪儗僗傊庢摼偟傑偡丅
尰嵼庢摼偱偒傞忣曬偼埲壓偺3偮偱偡丅峏偵昁梫側応崌偼丄捛壛偟偰偔偩偝偄丅
struct t_rtsk
{
PRI tskpri; /* 尰嵼偺桪愭弴埵 */
UINT tskstat; /* 僞僗僋偺忬懺 */
UINT tskwait; /* 懸偪梫場 */
};
亂椺亃 T_RTSK rtsk;
er = ref_tsk(&rtsk);
亂嶲徠亃get_tid
=============================================================================
slp_tsk / tslp_tsk 帺僞僗僋傪婲彴懸偪忬懺傊堏峴
-----------------------------------------------------------------------------
亂娭悢亃ER slp_tsk(void)
ER tslp_tsk(TMO tmout)
亂堷悢亃TMO tmout 婲彴懸偪偺僞僀儉傾僂僩傑偱偺帪娫
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
帺僞僗僋傪RUN忬懺偐傜婲彴懸偪偺忬懺傊堏偟傑偡丅偝傜偵tslp_tsk偱偼丄懸偪忬懺
偺僞僀儉傾僂僩傪巜掕偱傑偡丅僞僀儉傾僂僩偱栚妎傔偨偲偒偼丄僔僗僥儉僐乕儖偺
栠傝抣偑 R_TMOUT 偲側傝傑偡丅
幚嵺 slp_tsk 偼丄tslp_tsk(TMO_FEVR) 偲僞僀儉傾僂僩柍惂尷偲偟偰僀儞僋儖乕僪
僼傽僀儖拞偱儅僋儘掕媊偟偰偁傞偩偗側偺偱丄尩枾偵偼 slp_tsk 偲偄偆柤慜偺
僔僗僥儉僐乕儖偼偁傝傑偣傫丅
僞僀儉傾僂僩偺扨埵偼丄僞僀儅乕妱傝崬傒偺廃婜偱偡丅椺偊偽僞僀儅乕妱傝崬傒偑
10msec枅偵愝掕偟偰偄傞偲偒丄僞僀儉傾僂僩傪1昩偵愝掕偡傞偵偼丄100 偲巜掕偟
傑偡丅
亂椺亃 er = tslp_tsk(1000)
亂嶲徠亃wup_tsk, can_wup
=============================================================================
wup_tsk / iwup_tsk 懠僞僗僋偺婲彴
-----------------------------------------------------------------------------
亂娭悢亃ER wup_tsk(ID tskid) 僞僗僋梡
ER iwup_tsk(ID tskid) 妱傝崬傒僴儞僪儔梡
亂堷悢亃ID tskid 婲彴偝偣偨偄僞僗僋偺僞僗僋僐儞僩儘乕儖僽儘僢僋傊偺
億僀儞僞
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
tskid 偱巜掕偡傞僞僗僋傪婲彴偝偣傑偡丅偦偺僞僗僋偑婲彴懸偪偺忬懺偱偼側偐偭偨
応崌丄wup_tsk 梫媮偼僉儏乕僀儞僌偝傟丄師偺 slp_tsk 偱巊傢傟傑偡丅
妱傝崬傒僴儞僪儔忋偐傜僞僗僋傪婲彴偝偣傞偵偼丄iwup_tsk 傪巊偭偰偔偩偝偄丅
亂椺亃 AzTCB task1;
...
er = wup_tsk(&task1);
亂嶲徠亃slp_tsk, can_wup
=============================================================================
can_wup 僞僗僋婲彴梫媮偺僉儍儞僙儖
-----------------------------------------------------------------------------
亂娭悢亃ER can_wup(INT* p_wupcnt, ID tskid)
亂堷悢亃INT* p_wupcnt 僉儏乕僀儞僌偝傟偰偄偨婲彴梫媮悢傪庴偗庢傞傾僪儗僗
ID tskid 婲彴梫媮傪僉儍儞僙儖偡傞僞僗僋偺僞僗僋僐儞僩儘乕儖
僽儘僢僋傊偺億僀儞僞
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
tskid 偱巜掕偡傞僞僗僋偺婲彴梫媮悢傪僉儍儞僙儖偟丄偦偺帪揰偱僉儏乕僀儞僌偝傟
偰偄偨婲彴梫媮僇僂儞僩傪 p_wupcnt 偑帵偡傾僪儗僗傊庢摼偟傑偡丅
亂椺亃 AzTCB task1;
INT wupcnt;
er = can_wup(&wupcnt, &task1);
亂嶲徠亃slp_tsk, wup_tsk
=============================================================================
sig_sem 僙儅僼僅帒尮曉媝
-----------------------------------------------------------------------------
亂娭悢亃ER sig_sem(ID semid) 僞僗僋梡
ER isig_sem(ID semid) 妱傝崬傒僴儞僪儔梡
亂堷悢亃ID semid 僙儅僼僅偺ID
亂栠抣亃僄儔乕僐乕僪
亂婡擻亃
semid 偱巜掕偡傞僙儅僼僅偵懳偟偰丄帒尮傪1偮曉媝偟傑偡丅偦偺帪揰偱僙儅僼僅偺
帒尮庢摼傪懸偭偰偄傞僞僗僋偑偁傟偽丄偦偺僞僗僋傪READY忬懺偵堏偟傑偡丅懸偭偰
偄傞僞僗僋偑側偗傟偽丄僙儅僼僅偺僇僂儞僩抣傪僀儞僋儕儊儞僩(+1)偟傑偡丅
妱傝崬傒僴儞僪儔忋偐傜帒尮偺曉媝傪峴偆偲偒偼丄isig_sem 傪巊偭偰偔偩偝偄丅
亂椺亃 ApSemaphore sem1;
...
er = sig_sem(&sem1);
亂嶲徠亃wai_sem, ref_sem
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -