RTOS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рд╕рдЪреНрдЪрд╛рдИред рдЕрдиреБрдЪреНрдЫреЗрдж # 16ред рд╕рдВрдХреЗрдд



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


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

рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


рд╕рд┐рдЧреНрдирд▓ рдЕрдиреНрдп рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд░реНрдиреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рд╕реНрд╡рд╛рдпрддреНрдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ: рд╕рд┐рдЧреНрдирд▓ рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдореЗрдВ рдЖрда рд╕рд┐рдЧреНрдирд▓ рдлреНрд▓реИрдЧ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред

рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рд┐рдЧреНрдирд▓ рдХреЗрд╡рд▓ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдорд╛рд▓рд┐рдХ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди, рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдп рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдкрдврд╝ рдпрд╛ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рд╕рд┐рдЧреНрдирд▓ рд╕реЗрдЯрдЕрдк


рдЕрдзрд┐рдХрд╛рдВрд╢ рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде, рд╕рд┐рдЧреНрдирд▓ рдЯреНрдпреВрдирд┐рдВрдЧ nde_config.h рдореЗрдВ #define рдирд┐рд░реНрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдореБрдЦреНрдп рдкреИрд░рд╛рдореАрдЯрд░ NUSE_SIGNAL_SUPPORT рд╣реИ , рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдорд░реНрдерди (рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП) рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддрд╛ рд╣реИред рд╕рдВрдХреЗрддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╢реНрди рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП 8 рдЭрдВрдбреЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

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

рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ


рдирд╛рднрд┐рдХ рдПрд╕рдИ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди (рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЙрд▓) nuse_config.h рдореЗрдВ #define рдирд┐рд░реНрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИред рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

NUSE_SIGNALS_SEND NUSE_SIGNALS_RECEIVE 

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

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ nuse_config.h рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЕрдВрд╢ рд╣реИ:

 #define NUSE_SIGNAL_SUPPORT FALSE /* Enables support for signals */ #define NUSE_SIGNALS_SEND FALSE /* Service call enabler */ #define NUSE_SIGNALS_RECEIVE FALSE /* Service call enabler */ 

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

рд╕рд┐рдЧреНрдирд▓ рдХреЛ рдмреБрд▓рд╛рдУ


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

  • рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рднреЗрдЬрдирд╛ред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ NUSE_Signals_Send () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрддред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ NUSE_Signals_Receive () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рдкрдВрдЬреАрдХрд░рдгред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВред
  • / рдмрдВрдж (рдирд┐рдпрдВрддреНрд░рдг) рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВред

рдЗрди рдЪреБрдиреМрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдиреАрдЪреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред

рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рдФрд░ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛


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

рдЪреВрдВрдХрд┐ рд╕рд┐рдЧреНрдирд▓ рдмрд┐рдЯреНрд╕ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмрд╛рдЗрдирд░реА рдирдВрдмрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░реНрд╡реЛрддреНрддрдо рд░реВрдк рд╕реЗ рдХрд▓реНрдкрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдЪреВрдВрдХрд┐ рдорд╛рдирдХ рд╕реА рдиреЗ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕реНрдерд┐рд░рд╛рдВрдХ (рдХреЗрд╡рд▓ рдЕрд╖реНрдЯрд╛рдзрд╛рд░реА рдФрд░ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓) рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧреА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ nuse_binary.h рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА 256 8-рдмрд┐рдЯ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП b01010101 рдЬреИрд╕реЗ #define рд╡рд░реНрдг рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд nuse_binary.h рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЕрдВрд╢ рд╣реИ:

 #define b00000000 ((U8) 0x00) #define b00000001 ((U8) 0x01) #define b00000010 ((U8) 0x02) #define b00000011 ((U8) 0x03) #define b00000100 ((U8) 0x04) #define b00000101 ((U8) 0x05) 

рд╕рдВрдХреЗрдд рднреЗрдЬрдирд╛


рдХреЛрдИ рднреА рдХрд╛рд░реНрдп рдЖрд╡реЗрджрди рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред рд╕рд┐рдЧреНрдирд▓ рднреЗрдЬрдиреЗ рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рд┐рдЧреНрдирд▓ рдЭрдВрдбреЗ рд▓рдЧрд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдПрдХ OR рдСрдкрд░реЗрд╢рди рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдЭрдВрдбреЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЛ рд╕рд┐рдЧреНрдирд▓ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
рд╕реНрдерд┐рддрд┐ NU_Send_Signals (NU_TASK * рдХрд╛рд░реНрдп, UNSIGNED рд╕рд┐рдЧреНрдирд▓);

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

рдХрд╛рд░реНрдп - рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рд╕рд┐рдЧреНрдирд▓ рдЭрдВрдбреЗ рд╣реИрдВ;
рд╕рд┐рдЧреНрдирд▓ - рд╕реЗрдЯ рд╕рд┐рдЧреНрдирд▓ рдлреНрд▓реИрдЧ рдХрд╛ рдореВрд▓реНрдпред

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

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

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

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

STATUS_NUSE_Signals_Send (NUSE_TASK рдХрд╛рд░реНрдп, U8 рд╕рд┐рдЧреНрдирд▓);

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

рдХрд╛рд░реНрдп - рдХрд╛рд░реНрдп рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ (рдЖрдИрдбреА) рдЬрд┐рд╕рдореЗрдВ рд╕реЗрдЯ рд╕рд┐рдЧреНрдирд▓ рдЭрдВрдбреЗ рд╣реЛрддреЗ рд╣реИрдВ;
рд╕рд┐рдЧреНрдирд▓ - рд╕реЗрдЯ рд╕рд┐рдЧреНрдирд▓ рдлреНрд▓реИрдЧ рдХрд╛ рдореВрд▓реНрдпред

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

NUSE_SUCCESS - рд╕реЗрд╡рд╛ рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖ;
NUSE_INVALID_TASK - рдЕрдорд╛рдиреНрдп рдХрд╛рд░реНрдп рд╕реВрдЪрдХрд╛рдВрдХред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛
рдиреАрдЪреЗ NUSE_Signals_Send () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдХреЛрдб рд╣реИ:

 STATUS NUSE_Signals_Send(NUSE_TASK task, U8 signals) { #if NUSE_API_PARAMETER_CHECKING if (task >= NUSE_TASK_NUMBER) { return NUSE_INVALID_TASK; } #endif NUSE_CS_Enter(); NUSE_Task_Signal_Flags[task] |= signals; NUSE_CS_Exit(); return NUSE_SUCCESS; } 

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

рд╕рдВрдХреЗрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛


рдПрдХ рдХрд╛рд░реНрдп рдХреЗрд╡рд▓ рд╕рд┐рдЧреНрдирд▓ рдЭрдВрдбреЗ рдХреЗ рдЕрдкрдиреЗ рд╕реЗрдЯ рдХреЛ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдкрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди, рдзреНрд╡рдЬ рдорд╛рди рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдВ
рд╕реЗрд╡рд╛ рдХреЙрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк:
UNSIGNED NU_Receive_Signals (VOID);

рдкреИрд░рд╛рдореАрдЯрд░: рдХреЛрдИ рдирд╣реАрдВред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рд╕рдВрдХреЗрдд рдзреНрд╡рдЬ рдорд╛рдиред

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

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

рдкреИрд░рд╛рдореАрдЯрд░: рдХреЛрдИ рдирд╣реАрдВред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рд╕рдВрдХреЗрдд рдзреНрд╡рдЬ рдорд╛рдиред

рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рд╕рд┐рдЧреНрдирд▓ рд░рд┐рд╕реЗрдкреНрд╢рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд NUSE_Signals_Receive () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдХреЛрдб рд╣реИ:

 U8 NUSE_Signals_Receive(void) { U8 signals; NUSE_CS_Enter(); Signals = NUSE_Task_Signal_Flags[NUSE_Task_Active]; NUSE_Task_Signal_Flags[NUSE_Task_Active] = 0; NUSE_CS_Exit(); return signals; } 

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

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


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

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

рд░реИрдо рдореЗрдВ рд░рдЦрд╛ рдбреЗрдЯрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛


рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛:
NUSE_Task_Signal_Flags [] - рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд░ U8 рдХрд╛ рдПрдХ рд╕рд░рдгреА, рдЗрд╕ рдЭрдВрдбреЗ рдореЗрдВ рд╕рдВрдХреЗрдд рдЭрдВрдбреЗ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред

рдЗрд╕ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ NUSE_Init_Task () рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╢реВрдиреНрдп рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

ROM рдореЗрдВ рд░рдЦреЗ рдЧрдП рдбреЗрдЯрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛


рд╕рд┐рдЧреНрдирд▓ рдореЗрдВ ROM рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдХрдореА рд╣реЛрддреА рд╣реИред

рд╕рд┐рдЧреНрдирд▓ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛


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

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

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

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


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

рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рдкрдВрдЬреАрдХрд░рдг


рдпрд╣ рдПрдкреАрдЖрдИ рдХреЙрд▓ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдлрд╝рдВрдХреНрд╢рди) рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдиреНрдпреВрдХреНрд▓рд┐рдпрд╕ рдПрд╕рдИ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред

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

рд╡рд┐рдХрд▓реНрдк:
signal_handler - рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
NU_SUCCESS - рдХреЙрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рдерд╛;
NU_INVALID_POINTER - рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдирд▓ рд╕реВрдЪрдХ ( NULL )

рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг (рд╕рдХреНрд░рд┐рдпрдг / рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдирд╛)


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

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

рд╡рд┐рдХрд▓реНрдк:
enable_signal_mask - рд╕рд╣реА рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдмрд┐рдЯ рдкреИрдЯрд░реНрдиред

рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп:
рдкрд┐рдЫрд▓реЗ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕рдХреНрд░рд┐рдп / рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдХред

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


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

рд╕рд┐рдЧреНрдирд▓ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ


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

рд╕рдВрдХреЗрдд рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдорд╛рддреНрд░рд╛


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

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


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

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

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


All Articles