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



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

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

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


рд╕рд╣рд╛рдпрдХ рдореЗрд▓рдмреЙрдХреНрд╕ рд╕реЗрд╡рд╛рдПрдБ


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

рдореЗрд▓рдмреЙрдХреНрд╕ рд░реАрд╕реЗрдЯ


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

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рдПрдХ рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдерд┐рддрд┐ NU_Reset_Mailbox (NU_MAILBOX * рдореЗрд▓рдмреЙрдХреНрд╕);

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

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

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

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдерд┐рддрд┐ NUSE_Mailbox_Reset (NUSE_MAILBOX рдореЗрд▓рдмреЙрдХреНрд╕);

рд╡рд┐рдХрд▓реНрдк:
рдореЗрд▓рдмреЙрдХреНрд╕ - рдбрдВрдк рдХрд┐рдП рдЧрдП рдореЗрд▓рдмреЙрдХреНрд╕ рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ (рдЖрдИрдбреА)ред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NUSE_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NUSE_INVALID_MAILBOX - рдЕрдорд╛рдиреНрдп рдореЗрд▓рдмреЙрдХреНрд╕ рд╕реВрдЪрдХрд╛рдВрдХред

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

рдпрджрд┐ рд▓реЙрдХ рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕ рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЛрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЛ FALSE рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП NUSE_Mailbox_Status [] рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЕрдкреНрд░рдпреБрдХреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрджрд┐ рд▓реЙрдХ рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рдХреЛрдб рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:

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

рдореЗрд▓рдмреЙрдХреНрд╕ "рдЦрд╛рд▓реА" рд╕реНрдерд┐рддрд┐ рдкрд░ рд░реАрд╕реЗрдЯ рд╣реИред

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

рдореЗрд▓рдмреЙрдХреНрд╕ рдЬрд╛рдирдХрд╛рд░реА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛


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

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

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
STATUS NU_Mailbox_Information (NU_MAILBOX * рдореЗрд▓рдмреЙрдХреНрд╕, CHAR * рдирд╛рдо, рд╡рд┐рдХрд▓реНрдк * suspend_type, DATA_ELEMENT * рд╕рдВрджреЗрд╢_ рдкреНрд░рд╕реНрддреБрддрд┐, UNSIGNED * рдХрд╛рд░реНрдп_рдХрд░рдг, NU_TASK ** first_task);

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

рдореЗрд▓рдмреЙрдХреНрд╕ - рдореЗрд▓рдмреЙрдХреНрд╕ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
рдирд╛рдо - рдореЗрд▓рдмреЙрдХреНрд╕ рдирд╛рдо рдХреЗ рд▓рд┐рдП 8-рд╡рд░реНрдг рд╕реВрдЪрдХред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдорд╛рдкреНрддрд┐ рдирд▓ рдмрд╛рдЗрдЯ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ;
рд╕рд╕реНрдкреЗрдВрдб_рдЯрд╛рдЗрдк - рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░ рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдп рдХрд╛ рдирд┐рд▓рдВрдмрди рдкреНрд░рдХрд╛рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдорд╛рди NU_FIFO рдФрд░ NU_PRIORITY рд▓реЗ рд╕рдХрддрд╛ рд╣реИ;
message_pret - рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдПрдХ рд╕рдВрдХреЗрддрдХ рдЬреЛ рдореЗрд▓рдмреЙрдХреНрд╕ рдкреВрд░реНрдг рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ NU_TRUE рдпрд╛ NU_FALSE рдорд╛рди рд▓реЗрдЧрд╛ ;
task_waiting - рдПрдХ рдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдЬреЛ рдЗрд╕ рдореЗрд▓рдмреЙрдХреНрд╕ рдкрд░ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓реЗ рдЬрд╛рдПрдЧрд╛;
first_task - рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдЬреЛ рдкрд╣рд▓реЗ рдкреЙрдЬрд╝ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд▓реЗрдЧрд╛ред

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

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

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

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

рд╕реНрдерд┐рддрд┐ NUSE_Mailbox_Information (NUSE_MAILBOX рдореЗрд▓рдмреЙрдХреНрд╕, U8 * рд╕рдВрджреЗрд╢_рдкреНрд░рджрд░реНрд╢рди, U8 * рдХрд╛рд░реНрдп_ рдкреНрд░рддреАрдХреНрд╖рд╛, NUSE_TASK * first_task);

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

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

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

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

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

рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ:

 *message_present = NUSE_Mailbox_Status[mailbox]; #if NUSE_BLOCKING_ENABLE *tasks_waiting = NUSE_Mailbox_Blocking_Count[mailbox]; if (NUSE_Mailbox_Blocking_Count[mailbox] != 0) { U8 index; for (index=0; index<NUSE_TASK_NUMBER; index++) { if ((LONIB(NUSE_Task_Status[index]) == NUSE_MAILBOX_SUSPEND) && (HINIB(NUSE_Task_Status[index]) == mailbox)) { *first_task = index; break; } } } else { *first_task = 0; } #else *tasks_waiting = 0; *first_task = 0; #endif return NUSE_SUCCESS; 

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

рдореЗрд▓рдмреЙрдХреНрд╕реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛


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

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

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
UNSIGNED NU_Established_Mailboxes (VOID);

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

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

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

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

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

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

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдПрдХ рдореЗрд▓рдмреЙрдХреНрд╕ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛
рдЗрд╕ API рдХреЙрд▓ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрддреНрдпрдВрдд рд╕рд░рд▓ рд╣реИ: #define NUSE_MAILBOX_NUMBER рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдорд╛рди рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ ред

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


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

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

рд░реИрдо рдбреЗрдЯрд╛


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

NUSE_Mailbox_Data [] - ADDR рдкреНрд░рдХрд╛рд░ рдХреА рдПрдХ рд╕рд░рдгреА рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ, рдпрд╣ рдореЗрд▓рдмреЙрдХреНрд╕ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
NUSE_Mailbox_Status [] рдПрдХ U8 рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИ, рдпрд╣ рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЧреИрд░-рд╢реВрдиреНрдп рдорд╛рди ( TRUE ) рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореЗрд▓рдмреЙрдХреНрд╕ рднрд░рд╛ рд╣реБрдЖ рд╣реИред
NUSE_Mailbox_Blocking_Count [] - рдкреНрд░рдХрд╛рд░ U8 рдХреА рдПрдХ рд╕рд░рдгреА, рдЗрд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рд░рдгреА рдХреЗрд╡рд▓ рддрднреА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдпрджрд┐ API рдХреЙрд▓ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдХреНрд░рд┐рдп рд╣реЛред

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

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

 RAM ADDR NUSE_Mailbox_Data[NUSE_MAILBOX_NUMBER]; RAM U8 NUSE_Mailbox_Status[NUSE_MAILBOX_NUMBER]; #if NUSE_BLOCKING_ENABLE RAM U8 NUSE_Mailbox_Blocking_Count[NUSE_MAILBOX_NUMBER]; #endif 

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


рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, ROM рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореЗрд▓рдмреЙрдХреНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛


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

рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕рднреА рдореЗрд▓рдмреЙрдХреНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП ROM рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ 0 рд╣реИред

рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдмрд╛рдЗрдЯреНрд╕) рдореЗрдВ рд╕рднреА рдореЗрд▓рдмреЙрдХреНрд╕реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рд░реИрдо рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
NUSE_MAILBOX_NUMBER * (рдЖрдХрд╛рд░ (ADDR) +2)

рдЕрдиреНрдпрдерд╛:
NUSE_MAILBOX_NUMBER * (рдЖрдХрд╛рд░ (ADDR) +1)

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


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

рдореЗрд▓рдмреЙрдХреНрд╕ рдмрдирд╛рдПрдБ


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

рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
STATUS NU_Create_Mailbox (NU_MAILBOX * рдореЗрд▓рдмреЙрдХреНрд╕, CHAR * рдирд╛рдо, UNSIGNED OPTIT рд╕рд╕реНрдкреЗрдВрдб_рдЯрд╛рдЗрдк);

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

рдореЗрд▓рдмреЙрдХреНрд╕ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдореЗрд▓рдмреЙрдХреНрд╕ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ; рдЕрдиреНрдп API рдХреЙрд▓ рдореЗрдВ рдореЗрд▓рдмреЙрдХреНрд╕ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдирд╛рдо - рд╢реВрдиреНрдп рд╕рдорд╛рдкреНрддрд┐ рдмрд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЗ 7-рдЪрд░рд┐рддреНрд░ рдирд╛рдо рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ;
Suspend_type - рдореЗрд▓рдмреЙрдХреНрд╕ рдкрд░ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдиреЛрдВ рдХреЛ NU_FIFO рдФрд░ NU_PRIORITY рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХреНрд░рдорд╢рдГ FIFO рд╕рд┐рджреНрдзрд╛рдВрдд (First-In-First-Out) рдпрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд┐рд▓рдВрдмрди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрддред

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

NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NU_INVALID_MAILBOX - рдореЗрд▓рдмреЙрдХреНрд╕ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ ( NULL ) рдХреЗ рд▓рд┐рдП рдЕрд╢рдХреНрдд рд╕реВрдЪрдХ, рдпрд╛ рд╕реВрдЪрдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИ;
NU_INVALID_SUSPEND - рдЕрдорд╛рдиреНрдп рд╕рд╕реНрдкреЗрдВрдб_рдЯрд╛рдЗрдк рдкреИрд░рд╛рдореАрдЯрд░ред

рдПрдХ рдореЗрд▓рдмреЙрдХреНрд╕ рд╣рдЯрд╛рдПрдБ


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

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

рд╕реНрдерд┐рддрд┐ NU_Delete_Mailbox (NU_MAILBOX * рдореЗрд▓рдмреЙрдХреНрд╕);

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

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

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

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

рдореЗрд▓рдмреЙрдХреНрд╕ рдкреЙрдЗрдВрдЯрд░реНрд╕


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

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

UNSIGNED NU_Mailbox_Pointers (NU_MAILBOX ** pointer_list, UNSIGNED maximum_pointers);

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

рдкреЙрдЗрдВрдЯрд░_рд▓рд┐рд╕реНрдЯ - рдкреЙрдЗрдВрдЯрд░реНрд╕ рдСрдлрд╝ рдП рд╡реНрдпреВ рдкреЙрдЗрдВрдЯреНрд╕ NU_MAILBOX ; рдЗрд╕ рд╕рд░рдгреА рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдореЗрд▓рдмреЙрдХреНрд╕реЛрдВ рдХреЗ рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╕реЗ рднрд░рд╛ рдЬрд╛рдПрдЧрд╛;
рдЕрдзрд┐рдХрддрдо_ рдкреЙрдЗрдВрдЯрд░реНрд╕ - рд╕рд░рдгреА рдореЗрдВ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ред

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

рд╕рд░рдгреА рдореЗрдВ NU_MAILBOX рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ред

рд╕рднреА рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдбрд┐рд▓реАрд╡рд░реА рдХреЗ рд▓рд┐рдП рдореЗрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ


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

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

STATUS NU_Broadcast_To_Mailbox (NU_MAILBOX * рдореЗрд▓рдмреЙрдХреНрд╕, VOID * рд╕рдВрджреЗрд╢, UNSIGNED рд╕рд╕реНрдкреЗрдВрдб);

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

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

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

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

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


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

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


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

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

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


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

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


рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдиреМ рдореЗрд▓рдмреЙрдХреНрд╕ рдХрд╛рд░реНрдпрд╛рд▓рдп рдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдЪрд╛рд░ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИрдВред рдЗрди рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХрд╛ рдмреНрдпреЛрд░рд╛, рд╕рд╛рде рд╣реА рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдЕрдЧрд▓рд╛ рд▓реЗрдЦ рдХрддрд╛рд░реЛрдВ рдкрд░ рджрд┐рдЦреЗрдЧрд╛ред

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

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


All Articles