RTOS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рд╕рдЪреНрдЪрд╛рдИред рдЕрдиреБрдЪреНрдЫреЗрдж # 26ред рдЪреИрдирд▓: рд╕рд╣рд╛рдпрдХ рд╕реЗрд╡рд╛рдПрдБ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ



рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдЪреИрдирд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред

рдЪреИрдирд▓ рд╕рд╣рд╛рдпрддрд╛ рд╕реЗрд╡рд╛рдПрдБ


рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдЪрд╛рд░ рдПрдкреАрдЖрдИ рдХреЙрд▓ рд╣реИрдВ рдЬреЛ рдЪреИрдирд▓реЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ: рдПрдХ рдЪреИрдирд▓ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛, рдЪреИрдирд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдПрдХ рдЖрд╡реЗрджрди рдореЗрдВ рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛, рдФрд░ рдПрдХ рдЖрд╡реЗрджрди рдореЗрдВ рд╕рднреА рдЪреИрдирд▓реЛрдВ рдХреЛ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред рдкрд╣рд▓реЗ рддреАрди рдХрд╛рд░реНрдп рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ:

рдЕрдиреБрдЪреНрдЫреЗрдж # 25 рдбреЗрдЯрд╛ рдЪреИрдирд▓: рдкрд░рд┐рдЪрдп рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрд╡рд╛рдПрдВ
рдЕрдиреБрдЪреНрдЫреЗрдж # 24ред рдХрддрд╛рд░: рд╕рд╣рд╛рдпрдХ рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ
рдЕрдиреБрдЪреНрдЫреЗрдж # 23ред рдХрддрд╛рд░: рдкрд░рд┐рдЪрдп рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрд╡рд╛рдПрдВ
рдЕрдиреБрдЪреНрдЫреЗрдж # 22 рдореЗрд▓рдмреЙрдХреНрд╕: рд╕рд╣рд╛рдпрдХ рд╕реЗрд╡рд╛рдПрдБ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ
рдЕрдиреБрдЪреНрдЫреЗрдж # 21 рдореЗрд▓рдмреЙрдХреНрд╕: рдкрд░рд┐рдЪрдп рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрд╡рд╛рдПрдВ
рдЕрдиреБрдЪреНрдЫреЗрдж # 20 рд╕реЗрдорд╛рдлреЛрд░реЗрд╕: рд╕рд╣рд╛рдпрдХ рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ
рдЕрдиреБрдЪреНрдЫреЗрдж # 19ред рд╕реЗрдорд╛рдлреЛрд░реЗрд╕: рдкрд░рд┐рдЪрдп рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрд╡рд╛рдПрдВ
рдЕрдиреБрдЪреНрдЫреЗрдж # 18ред рдЗрд╡реЗрдВрдЯ рдлрд╝реНрд▓реИрдЧ рд╕рдореВрд╣: рд╕рд╣рд╛рдпрдХ рд╕реЗрд╡рд╛рдПрдБ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ
рдЕрдиреБрдЪреНрдЫреЗрдж # 17 рдЗрд╡реЗрдВрдЯ рдлрд╝реНрд▓реИрдЧ рд╕рдореВрд╣: рдкрд░рд┐рдЪрдп рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрд╡рд╛рдПрдБ
рдЕрдиреБрдЪреНрдЫреЗрдж # 16ред рд╕рдВрдХреЗрдд
рдЕрдиреБрдЪреНрдЫреЗрдж # 15 рдореЗрдореЛрд░реА рд╡рд┐рднрд╛рдЬрди: рд╕реЗрд╡рд╛рдПрдБ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ
рдЕрдиреБрдЪреНрдЫреЗрдж # 14ред рд╕реНрдореГрддрд┐ рдХреА рдзрд╛рд░рд╛рдПрдВ: рдкрд░рд┐рдЪрдп рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рд╕реЗрд╡рд╛рдПрдВ
рдЕрдиреБрдЪреНрдЫреЗрдж # 13ред рдЯрд╛рд╕реНрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЕрд╕рдорд░реНрдерд┐рдд рдПрдкреАрдЖрдИ рдХреЙрд▓
рдЕрдиреБрдЪреНрдЫреЗрдж # 12 рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдПрдБ
рдЕрдиреБрдЪреНрдЫреЗрдж # 11ред рдХрд╛рд░реНрдп: рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрдп
рдЕрдиреБрдЪреНрдЫреЗрдж # 10 рд╕рдордпрдмрджреНрдзрдХ: рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдФрд░ рд╕рдВрджрд░реНрдн рд╕рдВрд░рдХреНрд╖рдг
рдЕрдиреБрдЪреНрдЫреЗрдж # 9 рд╕рдордпрдмрджреНрдзрдХ: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЕрдиреБрдЪреНрдЫреЗрдж # 8 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ: рдЖрдВрддрд░рд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди
рдЕрдиреБрдЪреНрдЫреЗрдж # 7 рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ: рдкрд░рд┐рдЪрдп
рдЕрдиреБрдЪреНрдЫреЗрдж # 6 рдЕрдиреНрдп RTOS рд╕реЗрд╡рд╛рдПрдВ
рдЕрдиреБрдЪреНрдЫреЗрдж # рел рдХрд╛рд░реНрдп рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди
рдЕрдиреБрдЪреНрдЫреЗрдж # 4 рдХрд╛рд░реНрдп, рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ, рдФрд░ рд╡реНрдпрд╡рдзрд╛рди
рдЕрдиреБрдЪреНрдЫреЗрдж # рей рдХрд╛рд░реНрдп рдФрд░ рдпреЛрдЬрдирд╛
рдЕрдиреБрдЪреНрдЫреЗрдж # 2 рдЖрд░рдЯреАрдУрдПрд╕: рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЛрдб
рдЕрдиреБрдЪреНрдЫреЗрдж # 1ред рдЖрд░рдЯреАрдУрдПрд╕: рдкрд░рд┐рдЪрдпред

рдЪреИрдирд▓ рд░реАрд╕реЗрдЯ


рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдЪреИрдирд▓ рдХреЛ рдЙрд╕рдХреА рдореВрд▓, рдЕрдкреНрд░рдпреБрдХреНрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреЛрдИ рднреА рд╕рдВрджреЗрд╢ рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рдЪреИрдирд▓ рдкрд░ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдП рдЧрдП рдХреЛрдИ рднреА рдХрд╛рд░реНрдп NUSE_PIPE_WAS_RESET рдХреЛрдб рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ ред

рдирд╛рднрд┐рдХ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдЪреИрдирд▓ рд░реАрд╕реЗрдЯ рдХреЙрд▓

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:

рд╕реНрдерд┐рддрд┐ NU_Reset_Pipe (NU_PIPE * рдкрд╛рдЗрдк);

рд╡рд┐рдХрд▓реНрдк:

рдкрд╛рдЗрдк - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЪреИрдирд▓ рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:

NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NU_INVALID_PIPE - рдЕрдорд╛рдиреНрдп рдЪреИрдирд▓ рд╕реВрдЪрдХред

рдирд╛рднрд┐рдХ рдПрд╕рдИ рдореЗрдВ рдЪреИрдирд▓ рд░реАрд╕реЗрдЯ рдЪреИрд▓реЗрдВрдЬ

рдпрд╣ рдПрдкреАрдЖрдИ рд╕реЗрд╡рд╛ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:

рд╕реНрдерд┐рддрд┐ NUSE_Pipe_Reset (NUSE_PIPE рдкрд╛рдЗрдк);

рд╡рд┐рдХрд▓реНрдк:

рдкрд╛рдЗрдк рдкрд╛рдЗрдк рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ (рдЖрдИрдбреА) рдЧрд┐рд░рд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:

NUSE_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NUSE_INVALID_PIPE - рдЕрдорд╛рдиреНрдп рдЪреИрдирд▓ рд╕реВрдЪрдХрд╛рдВрдХред

рдирд╛рднрд┐рдХ рдПрд╕рдИ рдореЗрдВ рдЪреИрдирд▓ рд░реАрд╕реЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

NUSE_Pipe_Reset () рдлрд╝рдВрдХреНрд╢рди (рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж ) рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЪреИрдирд▓ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рд╕рдорд╛рдкреНрддрд┐ рд╕реВрдЪрдХрд╛рдВрдХ, рд╕рд╛рде рд╣реА рдЪреИрдирд▓ рдореЗрдВ рд╕рдВрджреЗрд╢ рдХрд╛рдЙрдВрдЯрд░, 0 рдкрд░ рд╕реЗрдЯ рд╣реИрдВред

рдпрджрд┐ рдХрд╛рд░реНрдп рд▓реЙрдХрд┐рдВрдЧ рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ:

while (NUSE_Pipe_Blocking_Count[pipe] != 0) { U8 index; /* check whether any tasks are blocked */ /* on this pipe */ for (index=0; index<NUSE_TASK_NUMBER; index++) { if ((LONIB(NUSE_Task_Status[index]) == NUSE_PIPE_SUSPEND) && (HINIB(NUSE_Task_Status[index]) == pipe)) { NUSE_Task_Blocking_Return[index] = NUSE_PIPE_RESET; NUSE_Task_Status[index] = NUSE_READY; break; } } NUSE_Pipe_Blocking_Count[pipe]--; } #if NUSE_SCHEDULER_TYPE == NUSE_PRIORITY_SCHEDULER NUSE_Reschedule(NUSE_NO_TASK); #endif 

рдЪреИрдирд▓ рдкрд░ рдирд┐рд▓рдВрдмрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЛ рд░рд┐рдЯрд░реНрди рдХреЛрдб NUSE_PIPE_WAS_RESET рдХреЗ рд╕рд╛рде "рддреИрдпрд╛рд░" рдХрд╛ рджрд░реНрдЬрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╢реЗрдбреНрдпреВрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ NUSE_Reschedule () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ , рдХреНрдпреЛрдВрдХрд┐ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдЪреИрдирд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА


рдпрд╣ рд╕реЗрд╡рд╛ рдХреЙрд▓ рдЪреИрдирд▓ рдЬрд╛рдирдХрд╛рд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЗрд╕ рдХреЙрд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдо рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╛рдордХрд░рдг, рдЪрд░-рд▓рдВрдмрд╛рдИ рд╕рдВрджреЗрд╢ рдФрд░ рдХрд╛рд░реНрдп рдард╣рд░рд╛рд╡ рдЖрджреЗрд╢ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдХрд╛рд░реНрдп рдард╣рд░рд╛рд╡ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдЪреИрдирд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:

STATUS NU_Pipe_Information (NU_PIPE * рдкрд╛рдЗрдк, CHAR * рдирд╛рдо, VOID ** start_address, UNSIGNED * рдкрд╛рдЗрдк_рд╕рд╛рдЗрдЬрд╝, UNSIGNED * рдЙрдкрд▓рдмреНрдз, UNSIGNED * - рд╕рдВрджреЗрд╢, OPTION * message_type, UNSIGNED * message_size, OPT *

рд╡рд┐рдХрд▓реНрдк:

рдкрд╛рдЗрдк - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЪреИрдирд▓ рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
рдирд╛рдо - рдЪреИрдирд▓ рд╕рдВрджреЗрд╢ рдирд╛рдо рдХреЗ рд▓рд┐рдП 8-рд╡рд░реНрдг рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
start_address - рдПрдХ рд╕реВрдЪрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдЬрд┐рд╕рдореЗрдВ рдЪреИрдирд▓ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдХрд╛ рдкрддрд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛;
рдкрд╛рдЗрдк_рд╕рд╛рдЗрдЬрд╝ - рдЪреИрдирд▓ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ;
рдЙрдкрд▓рдмреНрдз - рдЪреИрдирд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
рд╕рдВрджреЗрд╢ - рдЪреИрдирд▓ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ;
message_type - рдЪреИрдирд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХред рдпрд╣ рдорд╛рди NU_FIXED_SIZE рдФрд░ NU_VARIABLE_SIZE рд▓реЗ рд╕рдХрддрд╛ рд╣реИ;
message_size - рдкреНрд░рддреНрдпреЗрдХ рдЪреИрдирд▓ рд╕рдВрджреЗрд╢ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХред рдпрджрд┐ рдЪреИрдирд▓ рдЪрд░ рд▓рдВрдмрд╛рдИ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдЕрдзрд┐рдХрддрдо рд╕рдВрджреЗрд╢ рдЖрдХрд╛рд░ рд╣реЛрдЧреА;
рд╕рд╕реНрдкреЗрдВрдб_рдЯрд╛рдЗрдк - рд╕рд╕реНрдкреЗрдВрдб рдХрд╛рд░реНрдп рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХред рдпрд╣ рдорд╛рди NU_FIFO рдФрд░ NU_PRIORITY рд▓реЗ рд╕рдХрддрд╛ рд╣реИ;
task_waiting - рдЗрд╕ рдЪреИрдирд▓ рдкрд░ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ;
first_task - рдкрд╣рд▓реЗ рдкреЙрдЬрд╝ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:

NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NU_INVALID_PIPE - рдЕрдорд╛рдиреНрдп рдЪреИрдирд▓ рд╕реВрдЪрдХред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЪреИрдирд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ
рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:

рд╕реНрдерд┐рддрд┐ NUSE_Pipe_Information (NUSE_PIPE рдкрд╛рдЗрдк, ADDR * start_address, U8 * рдкрд╛рдЗрдк_рд╕рд╛рдЗрдЬрд╝, U8 * рдЙрдкрд▓рдмреНрдз, U8 * рд╕рдВрджреЗрд╢, U8 * рд╕рдВрджреЗрд╢_рд╕рд╛рдЗрдЬрд╝, U8 * рдХрд╛рд░реНрдп_ рдкреНрд░рддреАрдХреНрд╖рд╛, NUSE_TASK * first_task);

рд╡рд┐рдХрд▓реНрдк:

рдкрд╛рдЗрдк - рдЪреИрдирд▓ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
start_address - рдЪреИрдирд▓ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рдкрддреЗ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ADDR рдХреЗ рдПрдХ рдЪрд░ рдХрд╛ рд╕реВрдЪрдХ;
рдкрд╛рдЗрдк_рд╕рд╛рдЗрдЬрд╝ - рдЪреИрдирд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП U8 рдХреЗ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ;
рдЙрдкрд▓рдмреНрдз - рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП U8 рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓ рдореЗрдВ рдЦрд╛рд▓реА рдЬрдЧрд╣ рдмрдЪреА рд╣реИ;
рд╕рдВрджреЗрд╢ - рдЪреИрдирд▓ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП U8 рдХреЗ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ;
message_size - рдЗрд╕ рдЪреИрдирд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП U8 рдХреЗ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
task_waiting - рдЗрд╕ рдЪреИрдирд▓ рдкрд░ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ (рдХрд╛рд░реНрдп рдирд┐рд▓рдВрдмрди рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ);
first_task - NUSE_TASK рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ, рдЬреЛ рдкрд╣рд▓реЗ рдирд┐рд▓рдВрдмрд┐рдд рдХрд╛рд░реНрдп рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд▓реЗ рдЬрд╛рдПрдЧрд╛ (рдХрд╛рд░реНрдп рдирд┐рд▓рдВрдмрди рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:

NUSE_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NUSE_INVALID_PIPE - рдЕрдорд╛рдиреНрдп рдЪреИрдирд▓ рд╕реВрдЪрдХрд╛рдВрдХ;
NUSE_INVALID_POINTER - рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдкреЙрдЗрдВрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЧрд▓рдд рд╣реИрдВред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЪреИрдирд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛

рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

 *start_address = NUSE_Pipe_Data[pipe]; *pipe_size = NUSE_Pipe_Size[pipe]; *available = NUSE_Pipe_Size[pipe] - NUSE_Pipe_Items[pipe]; *messages = NUSE_Pipe_Items[pipe]; *message_size = NUSE_Pipe_Message_Size[pipe]; #if NUSE_BLOCKING_ENABLE *tasks_waiting = NUSE_Pipe_Blocking_Count[pipe]; if (NUSE_Pipe_Blocking_Count[pipe] != 0) { U8 index; for (index=0; index<NUSE_TASK_NUMBER; index++) { if ((LONIB(NUSE_Task_Status[index]) == NUSE_PIPE_SUSPEND) && (HINIB(NUSE_Task_Status[index]) == pipe)) { *first_task = index; break; } } } else { *first_task = 0; } #else *tasks_waiting = 0; *first_task = 0; #endif 

рдлрд╝рдВрдХреНрд╢рди рдЪреИрдирд▓ рдХреА рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдлрд┐рд░, рдпрджрд┐ рдХрд╛рд░реНрдп рддрд╛рд▓реЗ рд╕рдХреНрд░рд┐рдп рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд▓рдВрдмрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдиреНрдпрдерд╛, рдпреЗ рджреЛ рдкреИрд░рд╛рдореАрдЯрд░ 0 рдкрд░ рд╕реЗрдЯ рд╣реИрдВ)ред

рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛


рдпрд╣ рд╕реЗрд╡рд╛ рдХреЙрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ, рдпрд╣ рдорд╛рди рд╕рдордп рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдЪреИрдирд▓реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ, рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рдмрд┐рд▓реНрдб рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди рд╕реЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдПрдХ рдЪреИрдирд▓ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:

UNSIGNED NU_Established_Pipes (VOID);

рд╡рд┐рдХрд▓реНрдк:
рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдПрдХ рдЪреИрдирд▓ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ
рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЙрд▓ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
U8 NUSE_Pipe_Count (рд╢реВрдиреНрдп);

рд╡рд┐рдХрд▓реНрдк:
рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдПрдХ рдЪреИрдирд▓ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛
рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ: #define NUSE_PIPE_NUMBER рдкреНрд░рддреАрдХ рдХрд╛ рдорд╛рди рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ ред

рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ


рдЪреИрдирд▓ рдЫрд╣ рдпрд╛ рд╕рд╛рдд рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ (рдЬреЛ рдпрд╛ рддреЛ рд░реИрдо рдпрд╛ рд░реЛрдо рдореЗрдВ рд╣реИрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ (рдЕрдиреНрдп рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рддрд░рд╣) рдЯреЗрдмрд▓ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред

рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдЗрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдФрд░ рдЕрд╡рд╛рдВрдЫрд┐рдд рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрддрд┐ рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рдиреНрдпреВрдХреНрд▓рд┐рдпрд░ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯрд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред рд╕рд░реНрд╡рд┐рд╕ рдХреЙрд▓ рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЛрдб рдХреА рд╕рдордЭ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рдЕрд╡рд▓реЛрдХрди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИред

рд░реИрдо рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдбреЗрдЯрд╛


рдЗрд╕ рдбреЗрдЯрд╛ рдореЗрдВ рдирд┐рдореНрди рд╕рдВрд░рдЪрдирд╛ рд╣реИ:

NUSE_Pipe_Head [] рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ U8 рд╣реИ , рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ рдФрд░ рд╕рдВрджреЗрд╢ рдЪреИрдирд▓ рдХреА рд╢реБрд░реБрдЖрдд рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред NUSE_Pipe_Data [] (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рдореЗрдВ рдПрдХ рдкрддрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
NUSE_Pipe_Tail [] рдПрдХ U8 рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ рдФрд░ рд╕рдВрджреЗрд╢ рдЪреИрдирд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред NUSE_Pipe_Data [] (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рдореЗрдВ рдПрдХ рдкрддрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
NUSE_Pipe_Items [] U8 рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ рдФрд░ рдЪреИрдирд▓ рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛ рдирд┐рд░рд░реНрдердХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореВрд▓реНрдп рдЪреИрдирд▓ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рд╕рдорд╛рдкреНрддрд┐ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИред
NUSE_Pipe_Blocking_Count [] - рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ U8 рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЪреИрдирд▓ рдкрд░ рдЕрд╡рд░реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрд╛рдЙрдВрдЯрд░ рд╣реИрдВред рдпрд╣ рд╕рд░рдгреА рдХреЗрд╡рд▓ рддрдм рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬрдм рдХрд╛рд░реНрдп рд▓реЙрдХ рд╕рдорд░реНрдерди рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИред

рдЗрди рд╕рднреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ NUSE_Init_Pipe () рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╢реВрдиреНрдп рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЪреИрдирд▓ рдЦрд╛рд▓реА (рдЕрдкреНрд░рдпреБрдХреНрдд) рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдирд┐рдореНрди рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рд╡рд░рдг рд╣реЛрдЧрд╛ред

Nuse_init.c рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:

 RAM U8 NUSE_Pipe_Head[NUSE_PIPE_NUMBER]; RAM U8 NUSE_Pipe_Tail[NUSE_PIPE_NUMBER]; RAM U8 NUSE_Pipe_Items[NUSE_PIPE_NUMBER]; #if NUSE_BLOCKING_ENABLE RAM U8 NUSE_Pipe_Blocking_Count[NUSE_PIPE_NUMBER]; #endif 

RAM рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛


рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдЪреИрдирд▓ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реИрдо рдореЗрдВ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ U8 рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЪреИрдирд▓ рд╕рдВрджреЗрд╢ рдлрд┐рдЯ рд╣реЛрдВрдЧреЗред

ROM рдбреЗрдЯрд╛


рдЗрд╕ рдбреЗрдЯрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

NUSE_Pipe_Data [] ADDR рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЪреИрдирд▓ рдХреЗ рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ ("рдКрдкрд░ рд░реИрдо рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛" рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ)ред
NUSE_Pipe_Size [] U8 рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реЛрдиреЗ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЪреИрдирд▓ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛ рд╕рдХрддреА рд╣реИред
NUSE_Pipe_Message_Size [] рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ U8 рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд░рдЦрддрд╛ рд╣реИ рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ (рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ) рдЬрд┐рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЪреИрдирд▓ рдкрд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпреЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдБ nuse_config.c рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рдФрд░ рдЖрд░рдВрднрд┐рдХ (рд╕реНрдЯреИрдЯрд┐рдХрд▓реА) рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░:

 ROM ADDR *NUSE_Pipe_Data[NUSE_PIPE_NUMBER] = { /* addresses of pipe data areas ------ */ }; ROM U8 NUSE_Pipe_Size[NUSE_PIPE_NUMBER] = { /* pipe sizes ------ */ }; ROM U8 NUSE_Pipe_Message_Size[NUSE_PIPE_NUMBER] = { /* pipe message sizes ------ */ }; 

рдЪреИрдирд▓ рдореЗрдореЛрд░реА


рдЕрдиреНрдп рд╕рднреА рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рддрд░рд╣, рдЪреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИред

рдЖрд╡реЗрджрди рдореЗрдВ рд╕рднреА рдЪреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП ROM (рдмрд╛рдЗрдЯреНрд╕) рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

NUSE_PIPE_NUMBER * (рдЖрдХрд╛рд░ (ADDR) + 2)

рдХрд╛рд░реНрдп рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдкрд░ рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП RAM (рдмрд╛рдЗрдЯреНрд╕) рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

NUSE_PIPE_NUMBER * 4

рдЕрдиреНрдпрдерд╛:

NUSE_PIPE_NUMBER * 3

рдкрд╛рдЗрдк рдЗрдВрдбреЗрдХреНрд╕ рд╡рд╛рд▓реЗ рдЪреИрдирд▓ рдХреЗ рд▓рд┐рдП RAM (рдмрд╛рдЗрдЯреНрд╕) рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛:

NUSE_Pipe_Size [рдкрд╛рдЗрдк] * NUSE_Pipe_Message_Size [рдкрд╛рдЗрдк]

рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреАрдЖрдИ рдХреЙрд▓


рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдЪрд╛рд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рд╕реЗрд╡рд╛ рдХреЙрд▓ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдЪреИрдирд▓ рдирд┐рд░реНрдорд╛рдг


рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдПрдХ рдЪреИрдирд▓ рдмрдирд╛рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЪреИрдирд▓ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:

STATUS NU_Create_Pipe (NU_PIPE * рдкрд╛рдЗрдк, CHAR * рдирд╛рдо, VOID * start_address, UNSIGNED рдкрд╛рдЗрдк_рд╕рд╛рдЗрдЬрд╝, рд╡рд┐рдХрд▓реНрдк message_type, UNSIGNED_size, рд╡рд┐рдХрд▓реНрдк suspend_type);

рд╡рд┐рдХрд▓реНрдк:

рдкрд╛рдЗрдк - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЪреИрдирд▓ рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ; рдпрд╣ рдЕрдиреНрдп рдПрдкреАрдЖрдИ рдХреЙрд▓ рдореЗрдВ рдореБрдЦреНрдп рдЪреИрдирд▓ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
рдирд╛рдо - рдПрдХ рд╕рдорд╛рдкреНрддрд┐ рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде 7-рд╡рд░реНрдг рдЪреИрдирд▓ рдирд╛рдо рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
start_address - рдЪреИрдирд▓ рдкреНрд░рд╛рд░рдВрдн рдкрддрд╛;
рдкрд╛рдЗрдк_рд╕рд╛рдЗрдЬрд╝ - рдЪреИрдирд▓ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛;
message_type - рдЪреИрдирд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рдВрджреЗрд╢ рдкреНрд░рдХрд╛рд░ред рдпрд╣ рдорд╛рди NU_FIXED_SIZE рдпрд╛ NU_VARIABLE_SIZE рд▓реЗ рд╕рдХрддрд╛ рд╣реИ;
message_size - рдпрджрд┐ рдЪреИрдирд▓ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рдЯреАрдХ рдЖрдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдпрдерд╛, рдпрджрд┐ рдЪреИрдирд▓ рдЪрд░-рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдорд╛рди рдЕрдзрд┐рдХрддрдо рд╕рдВрджреЗрд╢ рдЖрдХрд╛рд░ рд╣реЛрдЧрд╛;
Suspend_type - рдЪреИрдирд▓ рдкрд░ рдХрд╛рд░реНрдп рдирд┐рд▓рдВрдмрди рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреНрд░рдорд╢рдГ NU_FIFO рдФрд░ NU_PRIORITY (FIFO рд╢реЗрдбреНрдпреВрд▓рд░ рдФрд░ PRIORITY рд╢реЗрдбреНрдпреВрд▓рд░) рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:

NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NU_INVALID_PIPE - рдЪреИрдирд▓ рдХрдВрдЯреНрд░реЛрд▓ рдпреВрдирд┐рдЯ ( NULL ) рдХреЛ рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ, рдпрд╛ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИ;
NU_INVALID_MEMORY - рдПрдХ рдЧрд▓рдд рдбреЗрдЯрд╛ рдХреНрд╖реЗрддреНрд░ start_address рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛;
NU_INVALID_MESSAGE - рдЕрдорд╛рдиреНрдп message_type рдкреИрд░рд╛рдореАрдЯрд░;
NU_INVALID_SIZE - рдпрд╛ рддреЛ рд╕рдВрджреЗрд╢ рдХрд╛ рдЖрдХрд╛рд░ рдЪреИрдирд▓ рдЖрдХрд╛рд░ рд╕реЗ рдмрдбрд╝рд╛ рд╣реИ, рдпрд╛ рдЪреИрдирд▓ рдпрд╛ рд╕рдВрджреЗрд╢ рдХрд╛ рдЖрдХрд╛рд░ рд╢реВрдиреНрдп рд╣реИ;
NU_INVALID_SUSPEND - рдЕрдорд╛рдиреНрдп рд╕рд╕реНрдкреЗрдВрдб_рдЯрд╛рдЗрдк рдкреИрд░рд╛рдореАрдЯрд░ред

рдЪреИрдирд▓ рд╣рдЯрд╛рдПрдВ


рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдПрдХ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдЪреИрдирд▓ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдирд╛рднрд┐рдХ рдПрд╕рдИ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЪреИрдирд▓ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╣рдЯрд╛рдП рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗред

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдерд┐рддрд┐ NU_Delete_Pipe (NU_PIPE * рдкрд╛рдЗрдк);

рд╡рд┐рдХрд▓реНрдк:
рдкрд╛рдЗрдк - рдПрдХ рдЪреИрдирд▓ рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NU_INVALID_PIPE - рдЕрдорд╛рдиреНрдп рдЪреИрдирд▓ рд╕реВрдЪрдХред

рдЪреИрдирд▓ рдкреЙрдЗрдВрдЯрд░реНрд╕


рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕рднреА рдЪреИрдирд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рдХреА рдПрдХ рдХреНрд░рдорд┐рдХ рд╕реВрдЪреА рдмрдирд╛рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЪреИрдирд▓реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рди рдХрд┐ рдПрдХ рд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛, рдЗрд╕рд▓рд┐рдП, рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рдмреЗрдорд╛рдиреА рд╣реЛрдЧрд╛ред

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
UNSIGNED NU_Pipe_Pointers (NU_PIPE ** рд╕реВрдЪрдХ_рд╕реВрдЪреА, UNSIGNED maximum_pointers);

рд╡рд┐рдХрд▓реНрдк:
рдкреЙрдЗрдВрдЯрд░_рд▓рд┐рд╕реНрдЯ - NU_PIPE рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ред рдЗрд╕ рд╕рд░рдгреА рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдЪреИрдирд▓реЛрдВ рдХреЗ рд╕рдВрдХреЗрдд рд╕реЗ рднрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛;
рдЕрдзрд┐рдХрддрдо рдкреЙрдЗрдВрдЯрд░реНрд╕ - рд╕рд░рдгреА рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рд╕рд░рдгреА рдореЗрдВ NU_PIPE рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛

рдПрдХ рдЪреИрдирд▓ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░реЗрдВ


рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреИрдирд▓ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд░рд░реНрдердХ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
STATUS NU_Broadcast_To_Pipe (NU_PIPE * рдкрд╛рдЗрдк, VOID * рд╕рдВрджреЗрд╢, UNSIGNED рдЖрдХрд╛рд░, UNSIGNED рд╕рд╕реНрдкреЗрдВрдб);

рд╡рд┐рдХрд▓реНрдк:
рдкрд╛рдЗрдк - рдПрдХ рдЪреИрдирд▓ рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ;
рд╕рдВрджреЗрд╢ - рдкреНрд░реЗрд╖рд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
рдЖрдХрд╛рд░ - рд╕рдВрджреЗрд╢ рдореЗрдВ UNSIGNED рдбреЗрдЯрд╛ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдпрджрд┐ рдЪреИрдирд▓ рдЪрд░ рд▓рдВрдмрд╛рдИ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдЪреИрдирд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рдВрджреЗрд╢ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд░рд╛рдмрд░ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЪреИрдирд▓ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдЪреИрдирд▓ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
рд╕рд╕реНрдкреЗрдВрдб - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЪреИрдирд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднрд░рд╛ рд╣реБрдЖ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрд╣ NU_NO_SUSPEND , NU_SUSPEND рдпрд╛ рдЯрд╛рдЗрдордЖрдЙрдЯ рдорд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NU_INVALID_PIPE - рдЪреИрдирд▓ рдХреЛ рдЕрдорд╛рдиреНрдп рд╕реВрдЪрдХ;
NU_INVALID_POINTER - рдПрдХ рд╕рдВрджреЗрд╢ ( NULL ) рдХреЗ рд▓рд┐рдП рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ;
NU_INVALID_SIZE - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрджреЗрд╢ рдЖрдХрд╛рд░ рдЪреИрдирд▓ рдмрдирд╛рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрджреЗрд╢ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИ;
NU_INVALID_SUSPEND - рдЧреИрд░-рдХрд╛рд░реНрдп-рд╕рдВрдмрдВрдзрд┐рдд рдереНрд░реЗрдб рд╕реЗ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕;
NU_PIPE_FULL - рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИ;
NU_TIMEOUT - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдЕрд╡рдзрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдЪреИрдирд▓ рдЕрднреА рднреА рднрд░рд╛ рд╣реБрдЖ рд╣реИ;
NU_PIPE_DELETED - рдХрд╛рд░реНрдп рд╕реНрдердЧрд┐рдд рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЪреИрдирд▓ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛;
NU_PIPE_RESET - рдХрд╛рд░реНрдп рд╕реНрдердЧрд┐рдд рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЪреИрдирд▓ рд░реАрд╕реЗрдЯ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдирд╛рднрд┐рдХ RTOS рд╕рдВрдЧрдд


рдЕрдиреНрдп рд╕рднреА рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде, рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рд╕рдВрдЧрддрддрд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдирд╛ рдерд╛ред рдЪреИрдирд▓ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИрдВ рдФрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╕рдВрдЧрддрд┐ рднреА рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдорд╛рдирд╛, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдб рдЖрд╡рд╢реНрдпрдХ рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрдиреНрдпрдерд╛, рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЛ рд╕реАрдзреЗ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛


рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ, рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ (рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ) рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рдПрдХ рдЪреИрдирд▓ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ, рдореЗрдореЛрд░реА рдХреЗ рдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рд╕рднреА рдХрд░реНрдиреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд░реИрдо рдФрд░ / рдпрд╛ рд░реЛрдо рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЖрдХрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╡рд╕реНрддреБ рдХреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ NUSE_PIPE рдХреЛ U8 рдХреЗ рдмрд░рд╛рдмрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдЪрд░ (рд╕реВрдЪрдХ рдирд╣реАрдВ) рдЪреИрдирд▓ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдб рдХреЛ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╕реЗ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрд╕рдВрдЧрддрддрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ рдкрд░ рдореВрд╡рд┐рдВрдЧ рдФрд░ рд╕реНрдЯреЛрд░рд┐рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдЪреИрдирд▓ рдирд╛рдордХрд░рдг рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрди рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдореЗрдореЛрд░реА рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ред

рд╕рдВрджреЗрд╢ рдХрд╛ рдЖрдХрд╛рд░ рдФрд░ рдкреНрд░рдХрд╛рд░


рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ, рдПрдХ рдЪреИрдирд▓ рдХреЛ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреА рддрд░рд╣, рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рдордирдорд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдорд┐рд▓рдХрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рд▓реЗрдВрде рдореИрд╕реЗрдЬ рдЪреИрдирд▓реЛрдВ рдХреЛ рднреА рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЕрдзрд┐рдХрддрдо рдореИрд╕реЗрдЬ рд╕рд╛рдЗрдЬ рд╣реА рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рдВрджреЗрд╢ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред

рдЪреИрдирд▓ рдХрд╛ рдЖрдХрд╛рд░


рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ, рдкреНрд░рддрд┐ рдЪреИрдирд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ 256 рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдЪрд░ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдкреНрд░рдХрд╛рд░ U8 рдХреЗ рд╣реИрдВ ред рдиреНрдпреВрдХреНрд▓рд┐рдпреЗрдЯреНрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХреА рдРрд╕реА рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИред

рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдПрдкреАрдЖрдИ рдХреЙрд▓


рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рджрд╕ рдЪреИрдирд▓ рдУрд╡рд░рд╣реЗрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдЪрд╛рд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИрдВред рдЗрди рдХреЙрд▓реЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг, рд╕рд╛рде рд╣реА рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЛ, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкрд╣рд▓реЗ "рдЕрдирд╛рд░рдХреНрд╖рд┐рдд рдПрдкреАрдЖрдИ рдХреЙрд▓" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦ рдореЗрдВ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдордп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

рд▓реЗрдЦрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдХреЙрд▓рд┐рди рд╡рд╛рд▓реНрд╕ рддреАрд╕ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдкрдиреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдХреЛ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рдЕрдм рдореЗрдВрдЯреЛрд░ рдПрдВрдмреЗрдбреЗрдб (рдореЗрдВрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдПрдХ рдкреНрд░рднрд╛рдЧ) рдореЗрдВ рдПрдХ рдлрд░реНрдорд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реИред рдХреЙрд▓рд┐рди рд╡реЙрд▓реНрд╕ рдЕрдХреНрд╕рд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдФрд░ рд╕реЗрдорд┐рдирд╛рд░реЛрдВ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реИрдВ, рдХрдИ рддрдХрдиреАрдХреА рд▓реЗрдЦреЛрдВ рдХреЗ рд▓реЗрдЦрдХ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдкрд░ рджреЛ рдХрд┐рддрд╛рдмреЗрдВред рдмреНрд░рд┐рдЯреЗрди рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред рдХреЙрд▓рд┐рди рдХрд╛ рдкреЗрд╢реЗрд╡рд░ рдмреНрд▓реЙрдЧ , рдИ-рдореЗрд▓: colin_walls@mentor.comред

Source: https://habr.com/ru/post/hi433374/


All Articles