
рдЗрд╕ рддреАрд╕рд░реЗ рдФрд░ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рджреЗрдЦреВрдВрдЧрд╛ рдФрд░ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЕрдиреНрдп рд╕рдВрдЧрддрддрд╛ рдореБрджреНрджреЗ рднреА рд╣реИрдВред
рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ:
рдЕрдиреБрдЪреНрдЫреЗрдж # 12 рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдПрдБрдЕрдиреБрдЪреНрдЫреЗрдж # 11ред рдХрд╛рд░реНрдп: рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрдпрдЕрдиреБрдЪреНрдЫреЗрдж # 10 рд╕рдордпрдмрджреНрдзрдХ: рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдФрд░ рд╕рдВрджрд░реНрдн рд╕рдВрд░рдХреНрд╖рдгрдЕрдиреБрдЪреНрдЫреЗрдж # 9 рд╕рдордпрдмрджреНрдзрдХ: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдЕрдиреБрдЪреНрдЫреЗрдж # 8 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ: рдЖрдВрддрд░рд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрдирдЕрдиреБрдЪреНрдЫреЗрдж # 7 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ: рдкрд░рд┐рдЪрдпрдЕрдиреБрдЪреНрдЫреЗрдж # 6 рдЕрдиреНрдп RTOS рд╕реЗрд╡рд╛рдПрдВрдЕрдиреБрдЪреНрдЫреЗрдж # рел рдХрд╛рд░реНрдп рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рдирдЕрдиреБрдЪреНрдЫреЗрдж # 4 рдХрд╛рд░реНрдп, рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ, рдФрд░ рд╡реНрдпрд╡рдзрд╛рдирдЕрдиреБрдЪреНрдЫреЗрдж # рей рдХрд╛рд░реНрдп рдФрд░ рдпреЛрдЬрдирд╛рдЕрдиреБрдЪреНрдЫреЗрдж # 2 рдЖрд░рдЯреАрдУрдПрд╕: рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЛрдб
рдЕрдиреБрдЪреНрдЫреЗрдж # 1ред рдЖрд░рдЯреАрдУрдПрд╕: рдкрд░рд┐рдЪрдпред
рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ
рдХрд╛рд░реНрдп рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рджреЛрдиреЛрдВ рд░реИрдо рдФрд░ рд░реЛрдо рдореЗрдВ), рдЬреЛ рдЕрдиреНрдп рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рддрд░рд╣, рдЯреЗрдмрд▓ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ рдЪрдпрдирд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб API рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪреЗрдВ, рдФрд░ рд╕реАрдзреЗ рдирд╣реАрдВред рдпрд╣ рдЕрд╡рд╛рдВрдЫрдиреАрдп рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рд╕реЗ рдмрдЪрддрд╛ рд╣реИ, рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддрд┐, рдФрд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рднреА рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред рд╕реЗрд╡рд╛ рдХреЙрд▓ рдХреЛрдб рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд░реИрдо рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдХрд░реНрдиреЗрд▓ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕
рдЗрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
NUSE_Task_Context [] [] - рдкреНрд░рдХрд╛рд░ рдХреА рджреЛ рдЖрдпрд╛рдореА рд╕рд░рдгреА
ADDR , рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИред рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдХ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдФрд░
NUSE_REGISTERS рдкреНрд░рддреАрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕реЗ
nuse_types.h рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛
рдЧрдпрд╛ рд╣реИ ред рдЗрд╕ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд▓реЗрдЦ # 10 рдХреЗ "рд╕рдВрджрд░реНрдн рдХреЛ рд╕рд╣реЗрдЬрдирд╛" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ RTC рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдмрдирд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред
NUSE_Task_Signal_Flags [] - рдкреНрд░рдХрд╛рд░
U8 рдХреА рдПрдХ рд╕рд░рдгреА, рдпрджрд┐ рд╕рд┐рдЧреНрдирд▓ рд╕рдХреНрд╖рдо рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП 8 рд╕рд┐рдЧреНрдирд▓ рдлреНрд▓реИрдЧ рд╣реИрдВред рд╕рд┐рдЧреНрдирд▓ рдХреА рдЪрд░реНрдЪрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреАред
NUSE_Task_Timeout_Counter [] рдкреНрд░рдХрд╛рд░
U16 рдХрд╛ рдПрдХ рд╕рд░рдгреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░реЛрдВ рдХреЛ рдШрдЯрд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ API
NUSE_Task_Sleep () рдХреЛ рдХреЙрд▓ рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
NUSE_Task_Status [] - рдкреНрд░рдХрд╛рд░ U8 рдХреА рдПрдХ рд╕рд░рдгреА, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ -
NUSE_READY рдпрд╛ рдирд┐рд▓рдВрдмрд┐рдд рд╕реНрдерд┐рддрд┐рдпрд╛рдБред рдХрд╛рд░реНрдп рдирд┐рд▓рдВрдмрди рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдкрд░ рд╣реА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
NUSE_Task_Blocking_Rurnurn [] - U8 рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА, рдЕрдЧрд░ API рдХреЙрд▓ рдЕрд╡рд░реЛрдзрди рд╕рдХреНрд░рд┐рдп рд╣реЛ рддреЛ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рд░рд┐рдЯрд░реНрди рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдореЗрдВ рдЖрдорддреМрд░ рдкрд░
NUSE_SUCCESS рдпрд╛ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рд░реАрд╕реЗрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
NUSE_MAILBOX_WAS_RESET )ред
NUSE_Task_Schedule_Count [] - рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА
U16 рдореЗрдВ , рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рддрднреА рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЕрдиреБрд╕реВрдЪрдХ рдЧрдгрдирд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
NUSE_Task_Context [] [] рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐ рд░рдЬрд┐рд╕реНрдЯрд░ (рд╕реНрдерд┐рддрд┐ рд░рдЬрд┐рд╕реНрдЯрд░, рдПрд╕рдЖрд░), рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдЙрдВрдЯрд░ (рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдЙрдВрдЯрд░, рдкреАрд╕реА) рдФрд░ рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░ (рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░, рдПрд╕рдкреА) рдХреЗ рдЕрдиреБрд░реВрдк рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рд╢реВрдиреНрдп рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ рдбреЗрдЯрд╛) "рдиреАрдЪреЗ", рдФрд░ рдЕрдиреНрдп рд╕рднреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ
NUSE_Init_Task () рдХреЛ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рд╢реВрдиреНрдп рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреА рд╢реБрд░реБрдЖрддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рд╣реЛрдЧреАред
Nuse_init.c рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВред

RAM рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрджрд┐ рдЖрд░рдЯреАрд╕реА рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдпреЗ
ADDR рд╕рд░рдгрд┐рдпрд╛рдБ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЖрдорддреМрд░ рдкрд░
nuse_config.c рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА
рдЬрд╛рддреА рд╣реИрдВ ред рдкрддреЗ рдФрд░ рд╕реНрдЯреИрдХ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХреНрд░рдорд╢рдГ
NUSE_Task_Stack_Base [] рдФрд░
NUSE_Task_Stack_Size [] рдХрд╛рд░реНрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (ROM рдореЗрдВ рдбреЗрдЯрд╛ рджреЗрдЦреЗрдВ)ред
ROM рдбреЗрдЯрд╛
рдПрдХ ROM рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рд╕реЗ рдЪрд╛рд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рд╕рдЯреАрдХ рд░рд╛рд╢рд┐ рдЪрдпрдирд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ:
NUSE_Task_Start_Address [] ADDR рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ
рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИред
NUSE_Task_Stack_Base [] ADDR рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ
рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрддреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИред рдпрд╣ рд╕рд░рдгреА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдпрджрд┐ RTC рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
NUSE_Task_Stack_Size [] - рдкреНрд░рдХрд╛рд░
U16 рдХреА рдПрдХ рд╕рд░рдгреА, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдХрд╛ рдЖрдХрд╛рд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ (рд╢рдмреНрджреЛрдВ рдореЗрдВ)ред рдпрд╣ рд╕рд░рдгреА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдпрджрд┐ RTC рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
NUSE_Task_Initial_State [] рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛
U8 рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдп рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣
NUSE_READY рдпрд╛
NUSE_PURE_SUSPEND рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рд░рдгреА рддрдм рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬрдм рдХрд╛рд░реНрдп рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпреЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ
nuse_config.c рдореЗрдВ рдШреЛрд╖рд┐рдд рдФрд░ рдЖрд░рдВрднрд┐рдХ (
рд╡реИрдзрд╛рдирд┐рдХ рд░реВрдк рд╕реЗ) рд╣реИрдВ:

рдХрд╛рд░реНрдп рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ (рдХрд╛рд░реНрдп рдбреЗрдЯрд╛ рдкрджрдЪрд┐рд╣реНрди)
рд╕рднреА рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рддрд░рд╣, рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИред
рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░реЙрдо рдЖрдХрд╛рд░ (рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ):
NUSE_TASK_NUMBER * рдЖрдХрд╛рд░ (ADDR)рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдЖрд░рдЯреАрд╕реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
NUSE_TASK_NUMBER * (рдЖрдХрд╛рд░ (ADDR) +2)рд╕рд╛рде рд╣реА, рдпрджрд┐ рдХрд╛рд░реНрдп рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
NUSE_TASK_NUMBERрд░реИрдо рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ (рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ) рдЪрдпрдирд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдпрд╣ рд╢реВрдиреНрдп рдорд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рднреА рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИред
рдпрджрд┐ RTC рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╢реЗрдбреНрдпреВрд▓рд░ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ:
NUSE_TASK_NUMBER * NUSE REGISTERS * sizeof (ADDR)рд╕рд╛рде рд╣реА, рдпрджрд┐ рд╕рд┐рдЧреНрдирд▓ рд╕рдкреЛрд░реНрдЯ рдЪрдпрдирд┐рдд рд╣реИ:
NUSE_TASK_NUMBERрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ NUSE_Task_Sleep () API рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рд╕рдХреНрд░рд┐рдп рд╣реИ:
NUSE_TASK_NUMBER * 2рд╕рд╛рде рд╣реА, рдпрджрд┐ рдХрд╛рд░реНрдп рдирд┐рд▓рдВрдмрди рд╕рдХреНрд░рд┐рдп рд╣реИ:
NUSE_TASK_NUMBERрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдмреНрд▓реЙрдХрд┐рдВрдЧ рд╕рдХреНрд░рд┐рдп рд╣реИ:
NUSE_TASK_NUMBERрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдЕрдиреБрд╕реВрдЪрдХ рдХрд╛рдЙрдВрдЯрд░ рд╕рдХреНрд░рд┐рдп рд╣реИ:
NUSE_TASK_NUMBER * 2рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛
рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз рд╕рд╛рдд рдПрдкреАрдЖрдИ рдХреЙрд▓ рд╣реИрдВ рдЬреЛ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдЬреЛ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдЯрд╛рд╕реНрдХ рдмрдирд╛рдПрдВ
рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рд░реНрдп рдмрдирд╛рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдерд┐рддрд┐ NU_Create_Task (NU_TASK * рдХрд╛рд░реНрдп, CHAR * рдирд╛рдо, VOID (* task_entry) (UNSIGNED, VOID *), UNSIGNED argc, VOID * Pgv, VOID * stack_address, UNSIGNED stack_size, рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╛рдердорд┐рдХрддрд╛, UNSIGNED рд╕рдордпрд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ, рдЕрдиреНрдп рдПрдкреАрдЖрдИ рдХреЙрд▓ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдп рдХреЗ рд╣реИрдВрдбрд▓ / рд▓рд┐рдВрдХ ("рд╣реИрдВрдбрд▓") рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
рдирд╛рдо - рдХрд╛рд░реНрдп рдХреЗ рдирд╛рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╕рдорд╛рдкреНрддрд┐ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдПрдХ 7-рд╡рд░реНрдг рд╕реНрдЯреНрд░рд┐рдВрдЧ;
task_entry - рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ;
argc -
UNSIGNED рдбреЗрдЯрд╛ рдПрд▓рд┐рдореЗрдВрдЯ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯрд╛рд╕реНрдХ рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
argv - рдПрдХ рд╕реВрдЪрдХ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдп рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
stack_address - рдХрд╛рд░реНрдп рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреНрд╖реЗрддреНрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
stack_size - рд╕реНрдЯреИрдХ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ;
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ - рдХрд╛рд░реНрдп рдХреЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдореВрд▓реНрдп рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ: 0 рд╕реЗ 255 рддрдХ, рдЬрд╣рд╛рдВ рдХрдо рд╕рдВрдЦреНрдпрд╛ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддреА рд╣реИ;
time_slice - рд╕рдордп рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рджреМрд░рд╛рди рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИред "0" рдХрд╛ рдорд╛рди рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ;
рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХреЛ рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
NU_PREEMPT рдФрд░
NU_NO_PREEMPT рдорд╛рди рд╣реЛ
рд╕рдХрддреЗ рд╣реИрдВ ;
рдСрдЯреЛ_рд╕реНрдЯрд╛рд░реНрдЯ - рдХрд╛рд░реНрдп рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
NU_START рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рдФрд░
NU_NO_START рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдирд┐рд▓рдВрдмрд┐рдд рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NU_SUCCESS - рд╕реЗрд╡рд╛ рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ;
NU_INVALID_TASK - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ
NULL рд╣реИ ;
NU_INVALID_ENTRY - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХреЗ рдЗрдирдкреБрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ
NULL рд╣реИ ;
NU_INVALID_MEMORY - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреИрдХ_рдбреНрд░реЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рд╢реВрдиреНрдп (
NULL ) рд╣реИ;
NU_INVALID_SIZE - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИ;
NU_INVALID_PREEMPT - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐
рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдЧрд▓рдд рддрд░реАрдХреЗ
рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
NU_INVALID_START - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐
auto_start рдкреИрд░рд╛рдореАрдЯрд░ рдЧрд▓рдд рддрд░реАрдХреЗ
рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЯрд╛рд╕реНрдХ рдХреЛ рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВ
рдпрд╣ API рдХреЙрд▓ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛рд░реНрдп рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ
рд╕рдорд╛рдкреНрдд рдпрд╛
рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рд▓рд┐рдП рднреА рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдерд┐рддрд┐ NU_Delete_Task (NU_TASK * рдХрд╛рд░реНрдп);рд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп - рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NU_SUCCESS - рд╕реЗрд╡рд╛ рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ;
NU_INVALID_TASK - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
NU_INVALID_DELETE - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рдпрд╛ рд╕рдорд╛рдкреНрдд рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИред
рдЯрд╛рд╕реНрдХ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд░рдорд┐рдХ рд╕реВрдЪреА рдмрдирд╛рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реВрдЪрдХрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдПрдХ рд╕рдВрдХреЗрддрдХред
рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
UNSIGNED NU_Task_Pointers (NU_TASK ** рдкреЙрдЗрдВрдЯрд░_рд▓рд┐рд╕реНрдЯ, UNSIGNED рдореИрдХреНрд╕рд┐рдордо_рдкреЙрдЗрдВрдЯрд░реНрд╕);рд╡рд┐рдХрд▓реНрдк:
рдкреЙрдЗрдВрдЯрд░_рд▓рд┐рд╕реНрдЯ -
NU_TASK рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░ред рдпрд╣ рд╕рд░рдгреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рд╕реЗ рднрд░ рдЬрд╛рдПрдЧреА;
max_pointers -
рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рд╕рд░рдгреА рдореЗрдВ рд░рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рд╕рд░рдгреА рдореЗрдВ
NU_TASK рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рдЯрд╛рд╕реНрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдмрджрд▓реЗрдВ
рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛рд░реНрдп рдХреЛ рдПрдХ рдирдИ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рд╕реНрдерд┐рд░ рд╣реИрдВред
рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╡рд┐рдХрд▓реНрдк NU_Change_Priority (NU_TASK * рдХрд╛рд░реНрдп, рд╡рд┐рдХрд▓реНрдк new_priority);рд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп - рдПрдХ рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ;
new_priority - 0 рд╕реЗ 255 рддрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рддрдп рдХрд░рддрд╛ рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдкрд┐рдЫрд▓реЗ рдХрд╛рд░реНрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдореВрд▓реНрдпред
рдЯрд╛рд╕реНрдХ рдкреНрд░реАрдореЛрд╢рди рдПрд▓рдЧреЛрд░рд┐рджрдо рдмрджрд▓реЗрдВ
рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдЙрд╕ рдХреНрд░рдо рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕рд░рд▓ рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╡рд┐рдХрд▓реНрдк NU_Change_Preemption (рд╡рд┐рдХрд▓реНрдк рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд);рд╡рд┐рдХрд▓реНрдк:
рдкреВрд░реНрд╡ -рдирдпрд╛ - рдирдпрд╛
рдкреНрд░реАрдЗрдореНрдкреЗрдХреНрдЯрд┐рд╡ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо,
NU_PREEMPT рдпрд╛
NU_NO_PREEMPT рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдердоред
рдЯрд╛рд╕реНрдХ рдЯрд╛рдЗрдо рд╕реНрд▓рд╛рдЗрд╕ рдмрджрд▓реЗрдВ
рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рд╕рдордп рдХреЗ рд╕реНрд▓рд╛рдЗрд╕ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛ рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рд╕реНрдХ рдЯрд╛рдЗрдо рд╕реНрд▓рд╛рдЗрд╕ рдлрд┐рдХреНрд╕ рд╣реИред
рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
UNSIGNED NU_Change_Time_Slice (NU_TASK * рдХрд╛рд░реНрдп, UNSIGNED time_slice);рд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп - рдПрдХ рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ;
time_slice - рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рджреМрд░рд╛рди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ
рд╕реНрд▓рд╛рдЗрд╕ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛; рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдПрдХ рд╢реВрдиреНрдп рдорд╛рди рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдордп рдкрд░рд┐рдорд╛рдгреАрдХрд░рдг рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдХрд╛рд░реНрдп рд╕рдордп рдХреНрд╡рд╛рдВрдЯрдо рдХрд╛ рдкрд┐рдЫрд▓рд╛ рдорд╛рдиред
рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐
рд╕рдорд╛рдкреНрдд рд░рд╛рдЬреНрдп рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдерд┐рддрд┐ NU_Terminate_Task (NU_TASK * рдХрд╛рд░реНрдп);рд╡рд┐рдХрд▓реНрдк:
рдХрд╛рд░реНрдп - рдПрдХ рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХред
рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NU_SUCCESS - рд╕реЗрд╡рд╛ рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ;
NU_INVALID_TASK - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рд╕реВрдЪрдХ рдЧрд▓рдд рд╣реИред
рдирд╛рднрд┐рдХ RTOS рд╕рдВрдЧрдд
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рд╛рдердорд┐рдХ рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд╕рд╛рде рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рдХреЛрдб рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдерд╛ред рдХрд╛рд░реНрдп рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИрдВ рдФрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЙрдиреНрд╣реЗрдВ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд╕рдорд╛рди рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдЫ рдЕрд╕рдВрдЧрдд рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ рдЬрд╣рд╛рдВ рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рд╣реВрдВ рдХрд┐ рдРрд╕реА рдЕрд╕рдВрдЧрддрддрд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП рдЕрдВрддрд┐рдо рдХреЛрдб рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рд╕реНрдореГрддрд┐ рдХрд╛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрди рдЕрд╕рдВрдЧрддрддрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рд▓рдЧрднрдЧ рд╕реАрдзреЗ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЙрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрди рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рд╕реЗ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рд╕рдВрдХреНрд░рдордг рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛
рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ, рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ (рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдЗрдпреЛрдВ) рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ, рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рд╕реНрдореГрддрд┐ рдХреЗ рдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рд╕рднреА рдХрд░реНрдиреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ RAM рдФрд░ / рдпрд╛ ROM рдореЗрдВ рдЯреЗрдмрд▓ рдХреЗ рдПрдХ рд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЖрдХрд╛рд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╕реНрддреБ рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЗрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ
NUSE_TASK рдХреЛ
U8 рдХреЗ рд╕рдордХрдХреНрд╖ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЪрд░ (рд╕реВрдЪрдХ рдирд╣реАрдВ) рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЕрд╕рдВрдЧрддрддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдб рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рд╕реЗ рдпрд╛ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЖрдорддреМрд░ рдкрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХрд╛рд░реНрдп рдирд╛рдордХрд░рдг рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрди рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдореЗрдореЛрд░реА рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ред
рдХрд╛рд░реНрдп рдмрддрд╛рддрд╛ рд╣реИ
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ, рдХрд╛рд░реНрдп рдХрдИ рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
рдирд┐рд╖реНрдкрд╛рджрди ,
рддреИрдпрд╛рд░ ,
рдирд┐рд▓рдВрдмрд┐рдд (рдЬреЛ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ: рдХрд╛рд░реНрдп рд╕реНрдЯреИрдВрдбрдмрд╛рдп рдореЗрдВ рд╣реИ рдпрд╛ рдПрдкреАрдЖрдИ рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рд╣реИ),
рд╕рдорд╛рдкреНрдд, рдпрд╛ рд╕рдорд╛рдкреНрддред
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ
рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯрд┐рдВрдЧ рдФрд░
рд░реЗрдбреА рд░рд╛рдЬреНрдпреЛрдВ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╕рднреА рддреАрди
рдирд┐рд▓рдВрдмрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
рд╕рдорд╛рдкреНрдд рдФрд░ рд╕рдорд╛рдкреНрдд рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдХреЛрдИ рднреА рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реИред рдПрдХ рдмрд╛рд╣рд░реА рдХрд╛рд░реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрднреА рднреА рдпрд╛ рддреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рдорд╛рди рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ
рд╕рдорд╛рдкреНрдд рд░рд╛рдЬреНрдп рд╣реЛрдЧрд╛)ред
рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреАрдЖрдИ рдХреЙрд▓
рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 16 рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ 7 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИрдВред рдЙрдирдХрд╛ рд╡рд░реНрдгрди, рд╕рд╛рде рд╣реА рдЙрдирдХреЗ рдмрд╣рд┐рд╖реНрдХрд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо RTOS рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди рдХреЛ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдХреЙрд▓рд┐рди рд╡рд╛рд▓реНрд╕ рддреАрд╕ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдХреЛ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рдЕрдм рдореЗрдВрдЯрд░ рдПрдВрдмреЗрдбреЗрдб (рдореЗрдВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рдЧ) рдореЗрдВ рдПрдХ рдлрд░реНрдорд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реИред рдХреЙрд▓рд┐рди рд╡рд╛рд▓реНрд╕ рдЕрдХреНрд╕рд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдФрд░ рд╕реЗрдорд┐рдирд╛рд░реЛрдВ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реИрдВ, рдХрдИ рддрдХрдиреАрдХреА рд▓реЗрдЦреЛрдВ рдХреЗ рд▓реЗрдЦрдХ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкрд░ рджреЛ рдХрд┐рддрд╛рдмреЗрдВред рдмреНрд░рд┐рдЯреЗрди рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред
рдХреЙрд▓рд┐рди рдХрд╛ рдкреЗрд╢реЗрд╡рд░
рдмреНрд▓реЙрдЧ , рдИ-рдореЗрд▓: colin_walls@mentor.comред