
рд╣рдо RTOS рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред
рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдкреАрдЖрдИ рдХреЙрд▓ рдореЗрдВ рдЯрд╛рд╕реНрдХ рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдХрд╛рд░реНрдп рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ, рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдФрд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдЗрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП 4 рдкреНрд░рдореБрдЦ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХрд╡рд░ рдХрд░реВрдВрдЧрд╛ред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ:
рдЕрдиреБрдЪреНрдЫреЗрдж # 11ред рдХрд╛рд░реНрдп: рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрдпрдЕрдиреБрдЪреНрдЫреЗрдж # 10 рд╕рдордпрдмрджреНрдзрдХ: рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдФрд░ рд╕рдВрджрд░реНрдн рд╕рдВрд░рдХреНрд╖рдгрдЕрдиреБрдЪреНрдЫреЗрдж # 9 рд╕рдордпрдмрджреНрдзрдХ: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдЕрдиреБрдЪреНрдЫреЗрдж # 8 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ: рдЖрдВрддрд░рд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрдирдЕрдиреБрдЪреНрдЫреЗрдж # 7 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ: рдкрд░рд┐рдЪрдпрдЕрдиреБрдЪреНрдЫреЗрдж # 6 рдЕрдиреНрдп RTOS рд╕реЗрд╡рд╛рдПрдВрдЕрдиреБрдЪреНрдЫреЗрдж # рел рдХрд╛рд░реНрдп рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рдирдЕрдиреБрдЪреНрдЫреЗрдж # 4 рдХрд╛рд░реНрдп, рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ, рдФрд░ рд╡реНрдпрд╡рдзрд╛рдирдЕрдиреБрдЪреНрдЫреЗрдж # рей рдХрд╛рд░реНрдп рдФрд░ рдпреЛрдЬрдирд╛рдЕрдиреБрдЪреНрдЫреЗрдж # 2 рдЖрд░рдЯреАрдУрдПрд╕: рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЛрдб
рдЕрдиреБрдЪреНрдЫреЗрдж # 1ред рдЖрд░рдЯреАрдУрдПрд╕: рдкрд░рд┐рдЪрдпред
рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреА рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдпрд╣ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреЙрд▓ рддрдерд╛рдХрдерд┐рдд рдХрд╛рд░реНрдп рдХреА рдЖрдИрдбреА рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреА рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ (0-15)ред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
NU_TASK * NU_Current_Task_Pointer (VOID);рд╡рд┐рдХрд▓реНрдк:
рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреА рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ;
NU_NULL - рдХреЛрдИ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдХрд╛рд░реНрдп рдХреЛ рдЪреБрдиреМрддреА рджреЗрдирд╛рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
NUSE_TASK NUSE_Task_Current (рд╢реВрдиреНрдп);рд╡рд┐рдХрд▓реНрдк:
рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рд╡рд░реНрддрдорд╛рди рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ (рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛рд░реНрдпред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдПрдХ рдЪрд▓ рд░рд╣реЗ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВрдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░
NUSE_Task_Active рдХрд╛ рдорд╛рди
рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ ред
рдЙрдкрд▓рдмреНрдз рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЙрд▓ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ (рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ) рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдпреЛрдЬрдирд╛рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХрд╛ рдЕрдкрдирд╛ рд╕реНрдЯреИрдХ рд╣реИ; рдпрд╛рдиреА рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд░рди рдЯреВ рдХрдВрдкреНрд▓реАрд╢рди (рдЖрд░рдЯреАрд╕реА) рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред
рдирд╛рднрд┐рдХ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рд╕реНрдЯреИрдХ рд╡реЙрд▓реНрдпреВрдо рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдпрд╛рдж рдХрд░рдирд╛рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
UNSIGNED NU_Task_Check_Stack (VOID);рд╡рд┐рдХрд▓реНрдк:
рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдХрд╛ рдЖрдХрд╛рд░ред
рдирд╛рднрд┐рдХ рдПрд╕рдИ рдореЗрдВ рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдПрдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрдкрдЪрд╛рд░рд┐рдХ (рдбрдореА) рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реЛред
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
U16 NUSE_Task_Check_Stack (U8 рдбрдореА);рд╡рд┐рдХрд▓реНрдк:
рдбрдореА - рдХреЛрдИ рднреА рдореВрд▓реНрдп, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдХрд╛ рдЖрдХрд╛рд░ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдРрд╕реА рдХреЙрд▓ рдХреЗ рд▓рд┐рдП, рдХреЛрдб рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

рдпрджрд┐ RTC рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ 0 рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реНрдЯреИрдХ рд╕реНрдкреЗрд╕ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдкреЛрд░реНрдЯреЗрдмрд▓ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдорд╛рди рдбрдореА рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдкрддрд╛ рдвреВрдВрдврдХрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдЯреИрдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рдЧрднрдЧ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛ред рд╕рдЦреНрддреА рд╕реЗ рдмреЛрд▓рдирд╛, рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рдзрд┐ рд╡рд┐рдХрд╛рд╕ / рд╕рдВрдХрд▓рдХ рдЙрдкрдХрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдХрд░реЗрдЧреАред рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдЗрд╕ рдореВрд▓реНрдп рдФрд░ рд╕реНрдЯреИрдХ рд╕реНрдерд╛рди рдХреЗ рдореВрд▓ рдореВрд▓реНрдп рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХрд╛рд░реНрдп рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ
рдПрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд╛рд░реНрдп рдХреЛ рдЙрд╕рдХреА рдореВрд▓ рдЕрдкреНрд░рдпреБрдХреНрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ API рдлрд╝рдВрдХреНрд╢рди рд╕рд╛рдорд╛рдиреНрдп рдХрд░реНрдиреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп API рд░реАрд╕реЗрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рд░реАрд╕реЗрдЯ рд╣реИ, рдФрд░ рди рдХреЗрд╡рд▓ рдХрд╛рд░реНрдп рдХреЛ рдЗрд╕рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ (рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рд▓рд┐рдП рдпрд╣ рдпрд╛ рддреЛ
NUSE_READY рд╣реИ рдпрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
NUSE_ask_Initial_State [] (рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рджреЗрдЦреЗрдВ) рдЕрдЧрд▓рд╛ рд▓реЗрдЦ)); рдХрд╛рд░реНрдп рдХреЛ рд╣реЛрд▓реНрдб рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ (
NUSE_PURE_SUSPEND ) рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рддрд░реНрдХ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдЯрд╛рд╕реНрдХ рд░реАрд╕реЗрдЯ рдХреЙрд▓рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдЯреЗрдЯрд╕ NU_Reset_Task (NU_TASK * рдХрд╛рд░реНрдп, UNSIGNED argc, VOID * argv);рд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп - рдПрдХ рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ;
argc - рдПрдХ рдбреЗрдЯрд╛ рддрддреНрд╡ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдп рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
argv рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯрд╛рд╕реНрдХ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖ;
NU_INVALID_TASK - рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЕрдорд╛рдиреНрдп рд╕реВрдЪрдХ;
NU_NOT_TERMINATED - рд╡рд░реНрдгрд┐рдд рдХрд╛рд░реНрдп рдкреВрд░реНрдг рдирд┐рд▓рдВрдмрди (рд╕рдорд╛рдкреНрдд) рдпрд╛ рдкреВрд░реНрдг рд╣реЛрдиреЗ (рд╕рдорд╛рдкреНрдд) рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реИ; рдХреЗрд╡рд▓ рд░реБрдХреЗ рд╣реБрдП рдпрд╛ рдкреВрд░реНрдг рд░рд╛рдЬреНрдп рдореЗрдВ рдХрд╛рд░реНрдп рд░реАрд╕реЗрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЯрд╛рд╕реНрдХ рд░реАрд╕реЗрдЯ рдХреЙрд▓рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдерд┐рддрд┐ NUSE_Task_Reset (NUSE_TASK рдХрд╛рд░реНрдп);рд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп - рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ (рдЖрдИрдбреА)ред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NUSE_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖ;
NUSE_INVALID_TASK - рдЕрдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╕реВрдЪрдХрд╛рдВрдХред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд░реАрд╕реЗрдЯ рдЯрд╛рд╕реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рдмрд╛рдж API рдлрд╝рдВрдХреНрд╢рди
NUSE_Task_Reset () рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рд╕рднреА рдХрд╛рд░реНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ
рд╕рдВрдЧрдард┐рдд рдХрд░рдирд╛ рд╣реИ:

рдпрджрд┐ API рдХреЛ рдХрд░реНрдиреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдп рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рдмреНрд▓реЙрдХ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╕реНрд╡рд┐рдЪ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлрд┐рд░, рдХрд╛рд░реНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдЖрд░рдВрднреАрдХрд░рдг рдлрд╝рдВрдХреНрд╢рди
NUSE_Init_Task () рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ (рдореВрд▓ рд░реВрдк рд╕реЗ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде, рдЗрд╕рдХреЗ рд╕рдВрджрд░реНрдн рдмреНрд▓реЙрдХ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдЕрдВрдд рдореЗрдВ, рдХрд╛рд░реНрдп рд╕реНрдерд┐рддрд┐
NUSE_PURE_SUSPEND рдкрд░ рд╕реЗрдЯ рд╣реИред
рдХрд╛рд░реНрдп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдпрд╣ рд╕реЗрд╡рд╛ рдХреЙрд▓ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдВрд╢рд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдкреНрд▓рд╕ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд╛рдордХрд░рдг, рдПрдХ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдХреЛ рджрдмрд╛рдиреЗ рдФрд░ рд╕рдордп рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдХрд╛рд░реНрдп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЙрд▓ рдХрд░реЗрдВрд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
STATUS NU_Task_Information (NU_TASK * рдХрд╛рд░реНрдп, CHAR * рдирд╛рдо, DATA_ELEMENT * рдХрд╛рд░реНрдп_status, UNSIGNED * рдирд┐рд░реНрдзрд╛рд░рд┐рдд_count, рд╡рд┐рдХрд▓реНрдк * рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рд╡рд┐рдХрд▓реНрдк * preempt, UNSIGNED * time_slice, VOID ** stack_base, UNSIGNED * рд╕реНрдЯреИрдХ * size * sizeрд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп - рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
рдирд╛рдо - рдХрд╛рд░реНрдп рдирд╛рдо рдХреЗ рд▓рд┐рдП 8-рд╡рд░реНрдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ; рдЕрд╢рдХреНрдд рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд╖реЗрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИ;
task_status - рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рд╕реНрдерд┐рддрд┐ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ;
рд╢реЗрдбреНрдпреВрд▓_рдХрд╛рдЙрдВрдЯ - рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рд╕реВрдЪрдХ рдЬреЛ рдХрд╛рдЙрдВрдЯрд░ рд╡реИрд▓реНрдпреВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ,
рд╢реЗрдбреНрдпреВрд▓рд░ рдореЗрдВ рдХрд┐рддрдиреА рдмрд╛рд░ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ;
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ - рдХрд╛рд░реНрдп рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ;
рдкреНрд░реАрдореЗрдкреНрдЯ - рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рднреАрдбрд╝ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ;
NU_PREEMPT рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХреЛ рднреАрдбрд╝ рд╕реЗ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░
NU_NO_PREEMPT рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХреЛ рднреАрдбрд╝ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
time_slice - рдХрд╛рд░реНрдп рд╕рдордп рдХреА рдорд╛рддреНрд░рд╛ рдХрд╛ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ; 0 рдХрд╛ рдорд╛рди рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдордп рдкрд░рд┐рдорд╛рдгреАрдХрд░рдг рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ;
stack_base - рдХрд╛рд░реНрдп рдвреЗрд░ рдХрд╛ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
stack_size - рдХрд╛рд░реНрдп рдвреЗрд░ рдХрд╛ рдЖрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
рдиреНрдпреВрдирддрдо_рд╕реНрдЯреИрдХ - рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рд╕реВрдЪрдХ рдЬреЛ рдвреЗрд░ рдкрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖ;
NU_INVALID_TASK - рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЕрдорд╛рдиреНрдп рд╕реВрдЪрдХред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдХрд╛рд░реНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдпрд╣ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдкреНрд▓рд╕ рдПрдкреАрдЖрдИ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдЯреЗрдЯрд╕ NUSE_Task_Information (NUSE_TASK рдХрд╛рд░реНрдп, U8 * task_status, U16 * рдирд┐рд░реНрдзрд╛рд░рд┐рдд_count, ADDR * stack_base, U16 * stack_size);рд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп -
рдХрд╛рд░реНрдп рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
task_status - рдПрдХ
U8 рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХ рдЬреЛ рдХрд╛рд░реНрдп рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдореВрд▓реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ (рдпрджрд┐ рдХрд╛рд░реНрдп рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реНрдерд┐рддрд┐ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реИ, рддреЛ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ);
рд╢реЗрдбреНрдпреВрд▓_рдХрд╛рдЙрдВрдЯ - рд╡реЗрд░рд┐рдПрдмрд▓
U16 рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░, рдЬреЛ рд╢реЗрдбреНрдпреВрд▓рд░ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдХрд╛рдЙрдВрдЯрд░ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ (рдпрджрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдХрд╛рдЙрдВрдЯрд░ рдЕрдХреНрд╖рдо рд╣реИ, рддреЛ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ);
stack_base - рдПрдХ
ADDR рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдЬреЛ рдХрд╛рд░реНрдп рд╕реНрдЯреИрдХ рдХрд╛ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ (рдпрджрд┐ RTC рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ);
stack_size рдПрдХ
U16 рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реИ рдЬреЛ рдЯрд╛рд╕реНрдХ рд╕реНрдЯреИрдХ рдХрд╛ рдЖрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ (рдпрджрд┐ RTC рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NUSE_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖ;
NUSE_INVALID_TASK - рдЕрдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╕реВрдЪрдХрд╛рдВрдХ;
NUSE_INVALID_POINTER - рд╕реВрдЪрдХ рдкреИрд░рд╛рдореАрдЯрд░ (рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ) рдЧрд▓рдд рд╣реИрдВред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдХрд╛рд░реНрдп рд╕реВрдЪрдирд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЗрд╕ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

рдлрд╝рдВрдХреНрд╢рди рд╡рд┐рднрд┐рдиреНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд╛рд░реНрдп рдХреА рд╕реНрдерд┐рддрд┐ рджреЗрддрд╛ рд╣реИред
рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдпрд╣ рд╕реЗрд╡рд╛ рдХреЙрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓ рд╕рдХрддреА рд╣реИ, рдФрд░ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рдЗрд╕ рд╕рдордп рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдЧрд╛, рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЕрдм рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЪреБрдиреМрддреАрд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
UNSIGNED NU_Established_Tasks (VOID);рд╡рд┐рдХрд▓реНрдк:
рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВ
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП (рд╣рдЯрд╛рдП рдЧрдП рдФрд░ рд╣рдЯрд╛рдП рдЧрдП) рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЪреБрдиреМрддреАрдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдкреНрд▓рд╕ рдПрдкреАрдЖрдИ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
U8 NUSE_Task_Count (рд╢реВрдиреНрдп);рд╡рд┐рдХрд▓реНрдк:
рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВ
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдЗрд╕ API рдХреЙрд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:
#define NUSE_TASK_NUMBER рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдорд╛рди
рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХреБрдЫ рдорд╛рдирдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред
рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдХреЙрд▓рд┐рди рд╡рд╛рд▓реНрд╕ рддреАрд╕ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдХреЛ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рдЕрдм рдореЗрдВрдЯреЛрд░ рдПрдВрдмреЗрдбреЗрдб (рдореЗрдВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рдЧ) рдореЗрдВ рдПрдХ рдлрд░реНрдорд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реИред рдХреЙрд▓рд┐рди рд╡рд╛рд▓реНрд╕ рдЕрдХреНрд╕рд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдФрд░ рд╕реЗрдорд┐рдирд╛рд░реЛрдВ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реИрдВ, рдХрдИ рддрдХрдиреАрдХреА рд▓реЗрдЦреЛрдВ рдХреЗ рд▓реЗрдЦрдХ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкрд░ рджреЛ рдХрд┐рддрд╛рдмреЗрдВ рд╣реИрдВред рдмреНрд░рд┐рдЯреЗрди рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред
рдХреЙрд▓рд┐рди рдХрд╛ рдкреЗрд╢реЗрд╡рд░
рдмреНрд▓реЙрдЧ , рдИ-рдореЗрд▓: colin_walls@mentor.comред
рдЕрдиреБрд╡рд╛рдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рд▓реЗрдЦреЛрдВ рдХреА рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧ рд░рд╣реА рдереА рдХрд┐ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреБрд░рд╛рдиреЗ рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд▓реЗрдЦрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рдУрдПрд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦрд░рд╛рдм рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдкрд╛рдардХ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИред рдореИрдВ рдЦреБрдж
рд░реВрд╕реА рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХреА рдЯреАрдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реВрдВ, рдЬрд┐рд╕реЗ рд╣рдо
рдореБрдлреНрдд рдореЗрдВ рдмрдирд╛рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ , рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рд╛рдЗрдХрд┐рд▓ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред