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

рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рдЪрд┐рдд рдПрдордХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рддрдерд╛рдХрдерд┐рдд рд╣реИ
рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдореЗрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛ (рдХреЙрдиреНрд╕реНрдЯреЗрдВрдЯ, рд╡реИрд░рд┐рдПрдмрд▓реНрд╕), рд╕рдВрднрд╡рддрдГ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд╛рд▓реЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдорддреМрд░ рдкрд░ "рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХреЛрдб" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рдмрдбрд╝реЗ рдЕрдирдВрдд рд▓реВрдк рдХреЛ рдПрдХ
рд▓реВрдк рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдЯрд╛рд░реНрдЯ рдЕрдк рдореЗрдВ, рдПрдордХреЗ рдХреЗ рдЙрдкрдХрд░рдг рдФрд░ рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЪрд░ рдХреЗ рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рди рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЗрд╕ рдЕрдирдВрдд рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдХреА рд╕рд╛рджрдЧреА рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдп рдПрдордХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рддрд░реАрдХрд╛ рдпрд╛ рджреВрд╕рд░рд╛ рдЪрдХреНрд░реАрдпред рдиреБрдХрд╕рд╛рди рднреА рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ: рдЕрдЧрд░ рдХреБрдЫ рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд▓рд┐рдП рддрддреНрдХрд╛рд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдПрдордХреЗ рдЗрд╕реЗ рдЪрдХреНрд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдордиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬрд▓реНрджреА рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдХрд░рд╛рдПрдЧрд╛ред рдпрджрд┐ рд╕рд┐рдЧреНрдирд▓ рдХреА рдЕрд╡рдзрд┐ рдЪрдХреНрд░ рдЕрд╡рдзрд┐ рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдРрд╕рд╛ рд╕рдВрдХреЗрдд рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдмрдЯрди
рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ :
do
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрдЧрд░ "рдХреБрдЫ рдХреЛрдб" рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдордХреЗ рдПрдХ рдмрдЯрди рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рдкреНрд░реЗрд╕ рдХреЛ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдПрдордХреЗ рдПрдХ рдмрд╛рдзрд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рд▓реИрд╕ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдХреЗрдд рдЗрдВрдЯрд░рдкреНрдЯ рдкрд░ "рд▓рдЯрдХрд╛" рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддреЛ рдЕрдЧрд▓рд╛ рд╕реНрддрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:
рд░реБрдХрд╛рд╡рдЯреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ
рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ ред
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд░реБрдХрд╛рд╡рдЯ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
on button button_isr
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрдВрдЯрд░рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ: рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛрдб рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рддреЗрдЬрд╝ рдФрд░ рдХрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; рдЕрдВрджрд░ рд░реБрдХрд╛рд╡рдЯ, рдПрдордХреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реАрдорд┐рдд рд╣реИред рдЪреВрдВрдХрд┐ AVR MKs рдореЗрдВ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╡реНрдпрд╡рдзрд╛рди рдкреНрд░рдгрд╛рд▓реА рдирд╣реАрдВ рд╣реИ, рдПрдХ рдФрд░ рд╡реНрдпрд╡рдзрд╛рди рдПрдХ рдЕрд╡рд░реЛрдз рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд╡реЗ рдЗрд╕ рд╕рдордп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЕрдХреНрд╖рдо рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдмрд╛рдзрд╛ рдХреЛ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдЕрдиреНрдп рд╡реНрдпрд╡рдзрд╛рди (рдФрд░ рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг) рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдмрд╛рдзрд┐рдд рд╕реНрдореГрддрд┐рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд░реБрдХрд╛рд╡рдЯ рдХреЗ рдЕрдВрджрд░ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдПрдордХреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рдФрд░ рд░реБрдХрд╛рд╡рдЯ рдХреЗ рддрдереНрдп рдХреЛ рдиреЛрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рд╡реНрдпрд╡рдзрд╛рди рдХреЛ рддреБрд░рдВрдд рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдХреБрдЫ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдЗрд╕ рдХреЛрдб рдореЗрдВ рджреЗрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП - рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рддрдХ рд╡рд┐рд▓рдВрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдПрдордХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо (рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓) рдкрд░ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдПрдЧрд╛ рдФрд░ рдЕрдиреНрдп рд╡реНрдпрд╡рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣рд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдЕрдВрджрд░, рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдХреЗрд╡рд▓ рдПрдХ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдШрдЯрдирд╛ рдХреЗ рддрдереНрдп рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ - рдФрд░ рдлрд┐рд░ рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдХреЗ рдЕрдВрджрд░ рдЭрдВрдбреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВред рдпрд╣, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рд╣рдо рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдпрд╛рдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдЕрдЧрд▓рд╛ рд╕реНрддрд░ рдЙрдарддрд╛ рд╣реИ - рдПрдХ
рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдЬрд┐рд╕рдореЗрдВ рдмрд╛рдзрд╛рдПрдВ рдФрд░ рдЭрдВрдбреЗ рд╣реЛрддреЗ рд╣реИрдВ ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
on button button_isr
рдПрдордХреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрдорддреМрд░ рдкрд░ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕рд░рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЭрдВрдбреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реНрдиреЛрдмреЙрд▓ рдХреА рддрд░рд╣ рдмрдврд╝рдиреЗ рд▓рдЧрддреА рд╣реИ, рдФрд░ рдХреЛрдб рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдФрд░ рдЕрдкрдардиреАрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рджреЗрд░реА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдЯрд╛рдЗрдорд░ рдкрд░ рдПрдХ рдЕрд▓рдЧ рд░реБрдХрд╛рд╡рдЯ рдХреЛ "рд▓рдЯрдХрд╛" рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдореЗрдВ ... рд╡рд┐рднрд┐рдиреНрди рдЭрдВрдбреЗ рдХреЛ рднреА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд╕реВрд░рдд рдмрдирд╛ рджреЗрддрд╛ рд╣реИ, рдЕрдиреНрдпреЛрдиреНрдпрд╛рд╢реНрд░рд┐рдд рдЭрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЦреБрдж рдбреЗрд╡рд▓рдкрд░ рд╢рд╛рдпрдж рд╣реА рдЗрд╕ рддрд░рд╣ рдХреЗ "рдкрд╛рд╕реНрддрд╛ рдХреЛрдб" рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЧрд▓рддреА рдЦреЛрдЬрдиреЗ рдпрд╛ рдХреЛрдб рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдЕрдХреНрд╕рд░ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рдмрд░рд╛рдмрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред
"рдкрд╛рд╕реНрддрд╛ рдХреЛрдб" рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдФрд░ рдкреНрд░рдмрдВрдзрдиреАрдп рдмрдирд╛рдПрдВ?
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (OS) рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ, рдПрдордХреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдУрдПрд╕ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдордХреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рдХрд╛рд░
рдПрдордХреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рджреЛ рдмрдбрд╝реЗ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдУрдПрд╕ рдмрд╛рд╣рд░ рднреАрдбрд╝ рдФрд░ рд╕рд╣рдХрд╛рд░реА рдУрдПрд╕ рдХреЗ рд╕рд╛рдеред рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ
рдбрд┐рд╕реНрдкреИрдЪрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмрд╛рд╣рд░ рднреАрдбрд╝ рдХреЗ рд╕рд╛рде рдПрдХ рдУрдПрд╕ рдореЗрдВ
, рдбрд┐рд╕реНрдкреИрдЪрд░ рдХрд┐рд╕реА рднреА рд╕рдордп рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдПрдХ рдХрд╛рд░реНрдп рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдШрдбрд╝реА рдЪрдХреНрд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ (рд╕рдВрднрд╡рддрдГ рдХрд╛рд░реНрдп рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ)ред рдпрд╣ рд╕рдВрдкреВрд░реНрдг рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: рдЖрдк рдХрдо рд╕реЗ рдХрдо рдХрд╛рд░реНрдп рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ
1: goto 1
- рдФрд░ рдЕрднреА рднреА рдмрд╛рдХреА рдХрд╛рд░реНрдпреЛрдВ (рдпрд╣ рдПрдХ рд╕рд╣рд┐рдд) рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░реАрдореЗрдкреНрдЯрд┐рд╡ рдУрдПрд╕ рдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ (рдореЗрдореЛрд░реА рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рд╛рдЗрдХрд┐рд▓) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд╡рд┐рдЪ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдХреНрд╖рдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рд╕рдВрджрд░реНрдн рдорд╢реАрди рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯреИрдХ (BASCOM рджреЛ рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рд╕рдмрдкреНрд░реЛрдЧреНрд░рд╛рдо рдФрд░ рд░рд┐рдЯрд░реНрди рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░)ред рди рдХреЗрд╡рд▓ рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓реЛрдб рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЪрдХреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдХрд╣реАрдВ рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдХрд╛рдо рди рдХрд░реЗред "рдмрдбрд╝реЗ" рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ, рд╢реБрд░реВ рдореЗрдВ рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдореБрдЦ, рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдЕрдХреНрд╕рд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди рд╣реЛрддреЗ рд╣реИрдВред AVR MK рдореЗрдВ рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реИ (рд╕рдм рдХреБрдЫ "рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП"), рдФрд░ рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдЫреЛрдЯрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдУрдПрд╕ рдХреЛ рд╡рд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдореМрдЬреВрдж рд╣реИрдВ, рд╕рд╛рдзрд╛рд░рдг рдПрдордХреЗ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВред
рдПрдХ рдФрд░ рдмрд╛рдд
рд╕рд╣рдХрд╛рд░реА рдУрдПрд╕ рд╣реИ ред рдпрд╣рд╛рдБ рдХрд╛рд░реНрдп рд╕реНрд╡рдпрдВ рд╣реА рдкреНрд░реЗрд╖рдгрдХрд░реНрддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрд╕реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣рд╛рдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЕрдиреНрдпрдерд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдардк рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдУрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдордЧреНрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ: рдпрджрд┐ рдХреЛрдИ рдХрд╛рд░реНрдп рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдпрд╣ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдХрднреА рдирд╣реАрдВ рдмреБрд▓рд╛рдПрдЧрд╛, рдФрд░ рдкреВрд░реА рдкреНрд░рдгрд╛рд▓реА рдЬрд╡рд╛рдм рджреЗрдирд╛ рдмрдВрдж рдХрд░ рджреЗрдЧреАред рджреВрд╕рд░реА рдУрд░, рдПрдХ рд░реИрдЦрд┐рдХ рдХреЛрдб рдпрд╛ рдПрдХ рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рдЬреЛрдЦрд┐рдо рдХреЗ рд╕рд╛рде рдлреНрд░реАрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рд╕рд╣рдХрд╛рд░реА рдУрдПрд╕ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣рд╛рдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЦреБрдж рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдХреНрд╖рдг рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдЪрд╛рдирдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдмрдХрд┐ рдХрд╛рд░реНрдп рдХреБрдЫ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд╕рд╛рде рдпрд╛ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдХреЗ рдмреАрдЪ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рд╣рдХрд╛рд░реА рдУрдПрд╕ рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рд╕рдВрджрд░реНрдн рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдФрд░ рдореЗрдореЛрд░реА рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдордХреЗ рдПрд╡реАрдЖрд░ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рджрд┐рдЦрддрд╛ рд╣реИред
рдЯрд╛рд╕реНрдХ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдмреЗрд╕рдХреЙрдо рдПрд╡реАрдЖрд░ рдореЗрдВ
рдмреЗрд╕рдХ AVR рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рд░реНрдп рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдп рдХреЛрдб, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреЛ рдХрд┐рд╕реА рд╕реНрдерд╛рди рдкрд░ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдХрд╛рд░реНрдп рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЗрд╕рдХреЗ рдХреЛрдб рдХреЗ рдХрд┐рд╕реА рд╕реНрдерд╛рди рдкрд░ рдбрд┐рд╕реНрдкреИрдЪрд░ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
sub task1() do
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдХрд╛рд░реНрдп 1 рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╕реНрдЯреИрдХ рдкрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдпрд╣ "рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЙрд▓" рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ:
рдореБрдЦреНрдп рдХреЛрдб рдкрд░ рдкрддрд╛ рд╡рд╛рдкрд╕ (2 рдмрд╛рдЗрдЯреНрд╕)
рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ -> рдЯрд╛рд╕реНрдХ 1 рдкрд░ рд╡рд╛рдкрд╕реА рдкрддрд╛ рдЬрд┐рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (2 рдмрд╛рдЗрдЯреНрд╕)
рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдЯрд╛рд╕реНрдХ 1 рдореЗрдВ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдкрддреЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЙрд▓ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ
рд▓реВрдк рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди) рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХрд╛ рд▓рдХреНрд╖реНрдп рдЯрд╛рд╕реНрдХ 2 рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП? (рдорд╛рди рд▓реЗрдВ рдХрд┐ рдбрд┐рд╕реНрдкреИрдЪрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЯрд╛рд╕реНрдХ 2 рдХрд╛ рдкрддрд╛ рдЬрд╛рдирддрд╛ рд╣реИ)ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рд╕реНрдЯреИрдХ (рдФрд░ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдпрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рд╕реЗ рдЯрд╛рд╕реНрдХ 1 рдкрд░ рд▓реМрдЯрдиреЗ рдХрд╛ рдкрддрд╛ рдЦреАрдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕реНрдЯреИрдХ 2 рдХреЗ рдкрддреЗ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рдЗрд╕ рдЬрдЧрд╣ рдкрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд░ рд░рд┐рдЯрд░реНрди рдХрдорд╛рдВрдб рджреЗрдВред рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реНрдЯреИрдХ рд╕реЗ рд╡рд╣рд╛рдВ рд░рдЦреЗ рдкрддреЗ рдХреЛ рдирд┐рдХрд╛рд▓ рджреЗрдЧрд╛ рдФрд░, рдЯрд╛рд╕реНрдХ 1 рдкрд░ рд▓реМрдЯрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЯрд╛рд╕реНрдХ 2 рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдЧрд╛ред
рдмрджрд▓реЗ рдореЗрдВ, рдЬрдм рдЯрд╛рд╕реНрдХ 2 рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рд╕реНрдЯреИрдХ рдХреЛ рднреА рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрддреЗ рдХреЛ рдмрдЪрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЯрд╛рд╕реНрдХ 2 рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдФрд░ рд╕реНрдЯреИрдХ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЧрдП рдХрд╛рд░реНрдп 1 рдкрддреЗ рдХреЛ рд▓реЛрдб рдХрд░реЗрдВред
рд░рд┐рдЯрд░реНрди рдХрдорд╛рдВрдб рджреЗрдВ рдФрд░ рд╣рдо рдЯрд╛рд╕реНрдХ 1 рдХреЗ рдирд┐рд░рдВрддрд░ рдмрд┐рдВрджреБ рдкрд░ рд╣реЛрдВрдЧреЗред ред
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдРрд╕реА рдЧрдбрд╝рдмрдбрд╝ рдорд┐рд▓рддреА рд╣реИ:
рдЯрд╛рд╕реНрдХ 1 -> рдбрд┐рд╕реНрдкреИрдЪрд░ -> рдЯрд╛рд╕реНрдХ 2 -> рдбрд┐рд╕реНрдкреИрдЪрд░ -> рдЯрд╛рд╕реНрдХ 1 ...ред
рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ! рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рдПрдХ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ рдФрд░ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рдХреБрдЫ
рдЙрдореНрдореАрдж рдХрд░
рд╕рдХрддреЗ рд╣реИрдВ (рджреЗрд░реА рд╕рдордп рдХреА рд╕рдорд╛рдкреНрддрд┐, рдХреБрдЫ рд╕рдВрдХреЗрдд рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдЖрджрд┐)ред рддреЛ, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдПрдХ
рд╕реНрдерд┐рддрд┐ (рдХрд╛рд░реНрдп, рдЙрддреНрддрд░, рдЕрдкреЗрдХреНрд╖рд┐рдд, рдЖрджрд┐) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░, рдпрджрд┐ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рддреЛ рдбрд┐рд╕реНрдкреИрдЪрд░ рдЙрд╕ рдХрд╛рд░реНрдп рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред
рдПрдХреНрд╡рд╛ RTOS
рд╡рд░реНрдгрд┐рдд рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╣рдХрд╛рд░реА рдУрдПрд╕ рдПрдХреНрд╡рд╛ рдЖрд░рдЯреАрдУрдПрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмреЗрд╕рдХреЙрдо рдПрд╡реАрдЖрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕рд╣рдХрд╛рд░реА рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реВрдЪрдирд╛ рдмрд╛рд╕рдХреЙрдо AVR рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВAUQA RTOS рдХрд╛ рд╡рд░реНрдгрди рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ BASCOM AVR рд╡рд╛рддрд╛рд╡рд░рдг рджреЛ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдмреЛрдзрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрд╣ config submode = new рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдирд┐рдпрдорд┐рдд рд╣реИ рд╡рд░реНрд╖ред
рдкреБрд░рд╛рдиреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрдХрд▓рдХ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рднреА рдХреЛрдб рдХреЛ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛, рднрд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рдХрд╣реАрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЙрдк рдирд╛рдо / рд╕рдорд╛рдкреНрддрд┐ рдЙрдк рдХреА рд╢реИрд▓реА рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред , рдирд╛рдо рдХреА рд╢реИрд▓реА рдореЗрдВ рд╕реНрдЯрд╛рдЗрд▓: / рд╡рд╛рдкрд╕реАред рдпрд╣ рд╣рдореЗрдВ рдмрд╛рдИрд▓реЗрдмреЗрд▓ рд╕рдВрд╢реЛрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкрддреЗ рдХреЛ рд▓реЗрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЙрдк рдирд╛рдо / рд╕рдорд╛рдкреНрддрд┐ рдЙрдк рд╢реИрд▓реА рдХреА рд╢реИрд▓реА рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ (рдЖрдкрдХреЛ рдПрдХ рд▓реЗрдмрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдирд╛рдо рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред
рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рд╕рдмрдореЛрдб = рдкреБрд░рд╛рдиреА рдореЛрдб рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддреА рд╣реИ: рдХрд╛рд░реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рддрд░реНрдХ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП; $ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдХреЛрдб рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдХрдиреЗрдХреНрдЯ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╛рдИрдкрд╛рд╕ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЧреЛрдЯреЛ рдФрд░ рдПрдХ рд▓реЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реБрд░реБрдЖрдд рд╕реЗ рдЕрдВрдд рддрдХ рдЬрд╛рдПрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХреНрд╡рд╛ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╛ рддреЛ рдЯрд╛рд╕реНрдХ_рдирд╛рдо рдХреА рд╢реИрд▓реА рдореЗрдВ рдХреЗрд╡рд▓ рдкреБрд░рд╛рдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдХреЗрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: / рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕реА, рдпрд╛ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдк рдирд╛рдо / рд╕рдорд╛рдкреНрддрд┐ рдЙрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЕрдкрдиреЗ рдХреЛрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рдВрд╢реЛрдзрдХ рд╕рдмрдореЛрдб = рдкреБрд░рд╛рдирд╛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдирд╛ред рдЧреЛрдЯреЛ рд▓реЗрдмрд▓ / рдлрд╝рд╛рдЗрд▓ рдХреЛрдб / рд▓реЗрдмрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:ред
рдПрдХреНрд╡рд╛ RTOS рдХрд╛рд░реНрдп рд╕реНрдерд┐рддрд┐
рдПрдХреНрд╡рд╛ RTOS рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рдЧрдИ рд╣реИрдВ:
OSTS_UNDEFINE OSTS_READY OSTS_RUN OSTS_DELAY OSTS_STOP OSTS_WAIT OSTS_PAUSE OSTS_RESTART
рдпрджрд┐ рдХрд╛рд░реНрдп рдЕрднреА рддрдХ рдЖрд░рдВрдн рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рддреЛ рдЙрд╕реЗ
OSTS_UNDEFINE рдХрд╛ рджрд░реНрдЬрд╛ рджрд┐рдпрд╛
рдЧрдпрд╛ рд╣реИ ред
рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж, рдХрд╛рд░реНрдп рдХреА рд╕реНрдерд┐рддрд┐
OSTS_STOP рд╣реИ ред
рдпрджрд┐ рдХрд╛рд░реНрдп
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ , рддреЛ рдЙрд╕реЗ
OSTS_READY рдХрд╛ рджрд░реНрдЬрд╛ рджрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдХрд╛рд░реНрдп рдХреЛ
OSTS_RUN рдХрд╛ рджрд░реНрдЬрд╛
рдкреНрд░рд╛рдкреНрдд рд╣реИ ред
рдЗрд╕рд╕реЗ рд╡рд╣
OSTS_STOP, OSTS_READY, OSTS_DELAY, OSTS_WAIT, OSTS_PAUSE рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рд╕реНрдерд┐рддрд┐
OSTS_DELAY рдореЗрдВ
рджреЗрд░реА рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп рд╣реИред
рд╕реНрдерд┐рддрд┐
OSTS_WAIT рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдХреА рдЧрдИ рд╣реИ рдЬреЛ рдХрд┐рд╕реА
рд╕реЗрдорд╛рдлрд╝реЛрд░ , рдИрд╡реЗрдВрдЯ, рдпрд╛ рд╕рдВрджреЗрд╢ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдиреАрдЪреЗ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ)ред
OSTS_STOP рдФрд░
OSTS_PAUSED рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ?
рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдХрд╛рд░реНрдп рдХреЛ
OSTS_STOP рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд
рд╣реЛрддреА рд╣реИ , рддреЛ рдХрд╛рд░реНрдп рдХрд╛ рдмрд╛рдж рдХрд╛
рдкреБрдирдГ рдЖрд░рдВрдн (
OSTS_READY рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░) рдЗрд╕рдХреЗ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╕реЗ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрд░реНрдерд╛рдд рд╢реБрд░реВ рд╕реЗ рд╣реАред
OSTS_PAUSE рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗ
, рдХрд╛рд░реНрдп
рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдХрд╛рд░реНрдп рд╕реНрдерд┐рддрд┐ рдкреНрд░рдмрдВрдзрди
рдУрдПрд╕ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рджреЛрдиреЛрдВ рдУрдПрд╕ рдЦреБрдж рд╣реА рдХрд╛рд░реНрдпреЛрдВ, рд╕рд╛рде рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдИ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ (рд╕рднреА OS рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдирд╛рдо
OS_ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ):
OS_InitTask(task_label, task_prio) OS_Stop() OS_StopTask(task_label) OS_Pause() OS_PauseTask(task_label) OS_Resume() OS_ResumeTask(task_label) OS_Restart()
рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
OS_service рдФрд░
OS_serviceTask (
OS_InitTask рд╕реЗрд╡рд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реИ;
OS_Init рд╕реЗрд╡рд╛ рдУрдПрд╕ рдХреЛ рд╣реА рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреА рд╣реИ)ред
OS_service рдФрд░
OS_serviceTask рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ? рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рдЙрд╕ рдХрд╛рд░реНрдп рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ; рджреВрд╕рд░рд╛ рдЖрдкрдХреЛ рдПрдХ рддрд░реНрдХ рдХреЛ рджреВрд╕рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдХрд╛рд░реНрдп рд╕реЗ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
OS_Resume рдХреЗ рдмрд╛рд░реЗ рдореЗрдВOS_Resume рдФрд░ OS_ResumeTask рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрди рд╕реЗрд╡рд╛рдПрдВ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рдж рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИрдВред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, OS_Resume * рд╕реЗрд╡рд╛рдПрдБ рдХреЗрд╡рд▓ OSTS_READY рдХреЛ рдХрд╛рд░реНрдп рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВред рдпрд╣ рд╕реНрдерд┐рддрд┐ рддрднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛рдПрдЧреА рдЬрдм рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдФрд░ рдХрд╛рд░реНрдп рдХрддрд╛рд░
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рдХреБрдЫ рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдорд╛рдзреНрдпрдорд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдУрдПрд╕ рдХреА рдПрдХ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ
рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рд╣реИрдВ, рддреЛ рдУрдПрд╕ рдкрд╣рд▓реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛ред рдпрджрд┐
рд╕рднреА рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рддреЛ рдУрдПрд╕ рдЙрдиреНрд╣реЗрдВ рдПрдХ "рд╣рд┐рдВрдбреЛрд▓рд╛" рдпрд╛ рдЧреЛрд▓-рд░реЙрдмрд┐рди рдирд╛рдордХ рдПрдХ рдХреНрд░рдо рдореЗрдВ рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдбрд╛рд▓ рджреЗрдЧрд╛ред
рдПрдХреНрд╡рд╛ рдЖрд░рдЯреАрдУрдПрд╕ рдореЗрдВ, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдПрдХ рдХрд╛рд░реНрдп рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЗрд╕реЗ
OS_InitTask рд╕реЗрд╡рд╛ рдкрд░ рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдХрд╛рд░реНрдп
рдХрд╛ рдкрддрд╛ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ
рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ 1 рд╕реЗ 15 рддрдХ рдХреА
рд╕рдВрдЦреНрдпрд╛ ред
рдПрдХ рдирд┐рдЪрд▓реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╛ рдорддрд▓рдм рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ ред рдУрдПрд╕ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди, рдХрд╛рд░реНрдп рдХреЛ рд╕реМрдВрдкреА рдЧрдИ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд┐рд▓рдВрдм
рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдореЗрдВ, рджреЗрд░реА рдХреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЬрдмрдХрд┐ рдУрдПрд╕ рдПрдХ рдХрд╛рд░реНрдп рдХреА рджреЗрд░реА рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рджреВрд╕рд░реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рдВрдЧрдарди рдХреЗ рд▓рд┐рдП
OS_Delay | OS_DelayTask ред рддрд░реНрдХ рд╡рд╣ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдореЗрдВ
рджреЗрд░реА рд╣реЛ рд░рд╣реА рд╣реИ ред рдЪреВрдВрдХрд┐ рддрд░реНрдХ рдХрд╛ рдЖрдпрд╛рдо рдХрдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рджреЗрд░реА 4294967295 рдПрдордПрд╕ рдпрд╛ рд▓рдЧрднрдЧ 120 рдШрдВрдЯреЗ рд╣реИ, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЧрддреА рд╣реИред рд╡рд┐рд▓рдВрдм рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рджреЗрд░реА рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╕реЗрдорд╛рдлреЛрд░
рдПрдХреНрд╡рд╛ RTOS рдореЗрдВ рд╕реЗрдорд╛рдлреЛрд░реЗрд╕ рдХреБрдЫ рдРрд╕реЗ рд╣реИрдВ рдЬреИрд╕реЗ рдЭрдВрдбреЗ рдФрд░ рдЪрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рд╡реЗ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ - рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдФрд░ рдЧрдгрдиреАрдпред рдкрд╣рд▓реЗ рдореЗрдВ рдХреЗрд╡рд▓ рджреЛ рд░рд╛рдЬреНрдп рд╣реИрдВ: рдореБрдХреНрдд рдФрд░ рдмрдВрджред рджреВрд╕рд░рд╛ рдПрдХ рдмрд╛рдЗрдЯ рдХрд╛рдЙрдВрдЯрд░ рд╣реИ (рдПрдХреНрд╡рд╛ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реЗрдорд╛рдлреЛрд░реНрд╕ рдХреА рдЧрд┐рдирддреА рдХреА рд╕реЗрд╡рд╛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИ (рдореИрдВ рдПрдХ рдЖрд▓рд╕реА рдЧрдзрд╛ рд╣реВрдВ), рдЗрд╕рд▓рд┐рдП рдиреАрдЪреЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╕рдм рдХреБрдЫ рдХреЗрд╡рд▓ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕реЗрдорд╛рдлреЛрд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ)ред
рдПрдХ рд╕реЗрдорд╛рдлреЛрд░ рдФрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдзреНрд╡рдЬ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп
рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрдорд╛рдлреЛрд░
рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рд▓рд┐рдП
рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ, рд╕реЗрдорд╛рдлреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд░реЗрд▓ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ: рд╕реЗрдорд╛рдлреЛрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░, рд░рдЪрдирд╛ (рдХрд╛рд░реНрдп) рд╕реЗрдореАрдлреЛрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧреА, рдФрд░ рдпрджрд┐ рдпрд╣ рдЦреБрд▓рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЖрдЧреЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рд╕рдордп, рдЕрдиреНрдп рдЯреНрд░реЗрдиреЗрдВ (рдХрд╛рд░реНрдп) рдЪрд▓рддреА (рдЪрд▓рд╛рдирд╛) рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреА рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рдХрд╛рд▓реЗ рдХрд╛рдо рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рд╕реМрдВрдкреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЬреИрд╕реЗ рд╣реА рдХрд╛рд░реНрдп рдХреЛ рд╕реЗрдореАрдлреЛрд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд╣ рдЕрдиреНрдп рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдЬрдм рддрдХ рдХрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗрдореАрдлреЛрд░ рдХреЛ рдореБрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рд╕реЗрдорд╛рдлреЛрд░ рдХреА рд╕реНрдерд┐рддрд┐
рдореБрдХреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рдбрд┐рд╕реНрдкреИрдЪрд░ рдЙрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕реЗрдорд╛рдлреЛрд░ рдХреЗ рд▓рд┐рдП
рддреИрдпрд╛рд░ рд╕реНрдерд┐рддрд┐ (
OSTS_READY ) рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдПрдХреНрд╡рд╛ RTOS 16 рдмрд╛рдЗрдирд░реА рд╕реЗрдорд╛рдлреЛрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рд╕рдВрдЦреНрдпрд╛, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдореЗрдВ рдЪрд░ рдХреЗ рдЖрдпрд╛рдо рдХреЛ рдмрджрд▓рдХрд░ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрджрд░ рд╡реЗ рдмрд┐рдЯ рдЭрдВрдбреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ)ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рдЗрдирд░реА рд╕реЗрдорд╛рдлреЛрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ:
hBSem OS_CreateBSemaphore() OS_WaitBSemaphore(hBSem) OS_WaitBSemaphoreTask(task_label, hBSem) OS_BusyBSemaphore(hBSem) OS_FreeBSemaphore(hBSem)
рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ semaphore
рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣
OS_CreateBSemaphore рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрдирд╛рдП рдЧрдП
hBSem рд╕реЗрдорд╛рдлреЛрд░ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдЗрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (рд╣реИрдВрдбрд▓) рдХреЛ
рд▓реМрдЯрд╛рддрд╛ рд╣реИ , рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ
OSERR_BSEM_AX_REACHED рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдЗрдирд░реА рд╕реЗрдорд╛рдлреЛрд░ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдИ рд╣реИред
рдЖрдк рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЕрдиреНрдп рдЕрд░реНрдз-рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░рдХреЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реЗрд╡рд╛
OS_WaitBSemaphore | OS_WaitBSemaphoreTask рдПрдХ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ (рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ) рдХрд╛рд░реНрдп рдбрд╛рд▓рддрд╛ рд╣реИ
hBSem рд╕реЗрдорд╛рдлреЛрд░ рдХреА рд░рд┐рд╣рд╛рдИ рдХреЗ рд▓рд┐рдП
рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдпрд╣
рд╕реЗрдореАрдлреЛрд░ рд╡реНрдпрд╕реНрдд рд╣реИ, рдФрд░ рдлрд┐рд░ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗред рдпрджрд┐ рд╕реЗрдорд╛рдлреЛрд░ рдореБрдХреНрдд рд╣реИ, рддреЛ рдирд┐рдпрдВрддреНрд░рдг рд╣рд╕реНрддрд╛рдВрддрд░рдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдп рдмрд╕ рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИред
OS_BusyBSemaphore рдФрд░
OS_FreeBSemaphore рд╕реЗрд╡рд╛рдПрдВ рдХреНрд░рдорд╢рдГ
рд╡реНрдпрд╕реНрдд рдпрд╛
рдореБрдлреНрдд рдореЗрдВ
hBSem рд╕реЗрдорд╛рдлрд╝реЛрд░ рд╕реЗрдЯ рдХрд░рддреА рд╣реИрдВред
рдУрдПрд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдорд╛рдлреЛрд░ рдХрд╛ рд╡рд┐рдирд╛рд╢ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╕рднреА рдмрдирд╛рдП рдЧрдП рд╕реЗрдореАрдлреЛрд░ рд╕реНрдерд┐рд░ рд╣реИрдВред
рдШрдЯрдирд╛рдУрдВ
рд╕реЗрдорд╛рдлреЛрд░ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдХрд╛рд░реНрдп рдХреЛ
рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдШрдЯрдирд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдХрд╛рд░реНрдп (рд╕рд╛рде рд╣реА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛрдб) рдЗрд╕ рдШрдЯрдирд╛ рдХрд╛
рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдЗрд╕ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ
рдирд┐рд╖реНрдкрд╛рджрди (
OSTS_READY ) рдХреЗ
рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА рдФрд░
рдкреНрд░реЗрд╖рдгрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХрд╛рд░реНрдп рдХрд┐рди рдШрдЯрдирд╛рдУрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд╕рдХрддрд╛ рд╣реИ? рдЦреИрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рд░реБрдХрд╛рд╡рдЯ;
- рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдШрдЯрдирд╛;
- рд╕рдВрд╕рд╛рдзрди рдХреА рд░рд┐рд╣рд╛рдИ (рдХрднреА-рдХрднреА рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдорд╛рдлреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИ);
- I / O рд▓рд╛рдЗрди рдХреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓рдиреЗ рдпрд╛ рдХреАрдмреЛрд░реНрдб рдкрд░ рдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ;
- RS-232 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЪрд░рд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдпрд╛ рднреЗрдЬрдирд╛;
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдПрдХ рднрд╛рдЧ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реВрдЪрдирд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг (рд╕рдВрджреЗрд╢ рднреА рджреЗрдЦреЗрдВ)ред
рдИрд╡реЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
hEvent OS_CreateEvent() OS_WaitEvent(hEvent) OS_WaitEventTask(task_label, hEvent) OS_WaitEventTO(hEvent, dwTimeout) OS_SignalEvent(hEvent)
рдХрд┐рд╕реА рдШрдЯрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ
рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
рд╣реИ ред рдпрд╣
OS_CreateEvent рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ
hEvent рдЗрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдмрд╛рдЗрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (рд╣реИрдВрдбрд▓)
рд▓реМрдЯрд╛рддрд╛ рд╣реИ , рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
OSERR_EVENT_MAX_REACHED рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ OS рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреА рд╕реАрдорд╛ (рдЕрдзрд┐рдХрддрдо 255 рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдирд╛рдУрдВ) рддрдХ рдкрд╣реБрдВрдЪ рдЧрдИ рд╣реИред
рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ
hEvent рдИрд╡реЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ
OS_WaEEvent рдХреЛ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдпрдВрддреНрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реЗрдорд╛рдлрд╝реЛрд░ рд╕реЗрд╡рд╛ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╡реЗрдВрдЯ рд╕реЗрд╡рд╛ рдПрдХ
рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдШрдЯрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
OS_WaitEventTO рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рджреВрд╕рд░рд╛ рддрд░реНрдХ рдпрд╣рд╛рдВ рдЖрдк рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд╛рд░реНрдп рдИрд╡реЗрдВрдЯ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдп
рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдШрдЯрдирд╛ рд╣реБрдИ рдереА, рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдкреИрдЪрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрд╛рд░реНрдп рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдШрдЯрдирд╛ рдирд╣реАрдВ рдереА, рдмрд▓реНрдХрд┐ рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдерд╛, рдХрд┐ рдХрд╛рд░реНрдп
OS_TIMEOUT рд╡реИрд╢реНрд╡рд┐рдХ рдзреНрд╡рдЬ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд░реНрдп рдпрд╛ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛрдб OS_SignalEvent рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдИрд╡реЗрдВрдЯ рдХреА рдШрдЯрдирд╛ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддрд╛ рд╣реИ , рдЬреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрд╕ рдШрдЯрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХрд╛рд░реНрдп, рдУрдПрд╕ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ , рддрд╛рдХрд┐ рд╡реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХреЗрдВредрд╕рдВрджреЗрд╢реЛрдВ
рдореИрд╕реЗрдЬ рд╕рд┐рд╕реНрдЯрдо рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдИрд╡реЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рди рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдХреА рдЙрдореНрдореАрдж рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрджреЗрд╢ рд╕реНрд╡рдпрдВ рдПрдХ рдХрд╛рд░реНрдп рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ - рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧредрдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: hTopic OS_CreateMessage() OS_WaitMessage(hTopic) OS_WaitMessageTask(task_label, hTopic) OS_WaitMessageTO(hTopic, dwTimeout) OS_SendMessage(hTopic, wMessage) word_ptr OS_GetMessage(hTopic) word_ptr OS_PeekMessage(hTopic) string OS_GetMessageString(hTopic) string OS_PeekMessageString(hTopic)
рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдПрдХ рд╕рдВрджреЗрд╢ рд╡рд┐рд╖рдп рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ ред рдпрд╣ OS_CreateMessage рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ hTopic рд╡рд┐рд╖рдп рдХрд╛ рдмрд╛рдЗрдЯ рд╣реИрдВрдбрд▓ рд▓реМрдЯрд╛рддрд╛ рд╣реИ , рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, OSERR_TOPIC_MAX_REACHED рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ , рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрджреЗрд╢ рд╡рд┐рд╖рдп рдкрд╣реБрдВрдЪ рдЪреБрдХреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЕрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛редрдХрд╛рд░реНрдп рдХреЛ hTopic рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП , рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рд╖рдп рдХреЗ рд╣реИрдВрдбрд▓ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдХреЗ рдХреЛрдб рдореЗрдВ OS_WitMessage рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ ред рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдпрдВрддреНрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рд╕реЗрд╡рд╛ рдПрдХ рд░рд╛рдЬреНрдп рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИрдПрдХ hTopic рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ ред OS_WaitMessageTOрдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реЗрд╡рд╛ рдЗрд╡реЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ OS_WaitEventTO рд╕реЗрд╡рд╛ рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, OS_SendMessage рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ ред рдкрд╣рд▓рд╛ рддрд░реНрдХ рдЙрд╕ рд╡рд┐рд╖рдп рдХреЛ рд╣реИрдВрдбрд▓ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╕рдВрджреЗрд╢ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рджреВрд╕рд░рд╛ рд╢рдмреНрдж рдЖрдпрд╛рдо рддрд░реНрдХ рд╣реИ ред рдпрд╣ рдпрд╛ рддреЛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ , рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рдВрджреЗрд╢ рд╣реИред рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдХ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рдирд┐рд░реНрдорд┐рдд BASCOM рдореЗрдВ рд╕рдорд╛рд░реЛрд╣ VarPtr , рдЗрд╕рд▓рд┐рдП рдХреА рддрд░рд╣: strMessage = "Hello, world!" OS_SendMessage hTopic, varptr (strMessage)
OS_WaitMessage рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд╛рдо рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ , рдЕрд░реНрдерд╛рдд, рдЬрдм рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдп рдпрд╛ рддреЛ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рдирд╛рд╢ рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдмрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдирд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреА рдореЗрдВ рдЕрдВрддрд┐рдо рдЪрд╛рд░ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкрд╣рд▓реЗ рджреЛ рдХрдИ рдЖрдпрд╛рдо рд╢рдмреНрдж рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВ , рдЬреЛ рдпрд╛ рддреЛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд╕рдВрджреЗрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЙрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрджреЗрд╢ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, OS_GetMessage рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрджреЗрд╢ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдФрд░ OS_PeekMessage рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИредрдпрджрд┐ рдХрд╛рд░реНрдп рдХреЛ рддреБрд░рдВрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рди рдХрд┐ рд╕реВрдЪрдХ рдХреА, рддреЛ рдЖрдк рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ OS_GetMessageString рдпрд╛ OS_PeekMessageString , рдЬреЛ рдкрд┐рдЫрд▓реЗ рджреЛ рдХреЗ рд╕рдорд╛рди рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдВрдХреЗрддрдХ рдирд╣реАрдВредрдЖрдВрддрд░рд┐рдХ рдЯрд╛рдЗрдорд░ рд╕реЗрд╡рд╛
рджреЗрд░реА рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╡рд╛ RTOS рдирд┐рд░реНрдорд┐рдд рдПрдХ рдЖрдИрд╕реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ Timer0 ред рдЗрд╕рд▓рд┐рдП, рдмрд╛рд╣рд░реА рдХреЛрдб (рдкреГрд╖реНрдарднреВрдорд┐ рдФрд░ рдХрд╛рд░реНрдп) рдХреЛ рдЗрд╕ рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдУрдПрд╕ рд╕рдордп рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИред рдЯрд╛рдЗрдорд░ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди 1 рдПрдордПрд╕ рд╣реИредрдПрдХреНрд╡рд╛ RTOS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдб рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдирд┐рд░рдВрддрд░ OS_SIM = TRUE рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ FALSE , рдЬреЛ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЛрдб рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИредрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, OS рдХреЛрдб рдореЗрдВ, OS_MAX_TASK рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ , рдЬреЛ OS рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдЬрд┐рддрдиреА рдХрдо рд╣реЛрдЧреА, рдЙрддрдиреА рд╣реА рддреЗрдЬрд╝реА рд╕реЗ рдУрдПрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХрдо рдУрд╡рд░рд╣реЗрдб), рдФрд░ рдХрдо рдореЗрдореЛрд░реА рдЗрд╕рдХреА рдЦрдкрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓ рдЧрдИ рд╣реИ, рддреЛ рдЗрд╕ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдмрджрд▓рдирд╛ рди рднреВрд▓реЗрдВредрдУрдПрд╕ рдЖрд░рдВрднреАрдХрд░рдг
рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХреНрд╡рд╛ рдЖрд░рдЯреАрдУрдПрд╕ рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, OS_Init рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ ред рдпрд╣ рд╕реЗрд╡рд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ OS рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреА рд╣реИред рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдЗрд╕рдХрд╛ рдПрдХ рддрд░реНрдХ рд╣реИ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ред рдмрджрд▓реЗ рдореЗрдВ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдХ рддрд░реНрдХ рднреА рд╣реИ - рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛрдбредрдпрд╣ рд╣реИрдВрдбрд▓рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реНрдЯрдм рдХреЗ рд░реВрдк рдореЗрдВ) - рдУрдПрд╕ рдЗрд╕рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЛрдб рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдЙрдиреНрд╣реЗрдВ рдкрдХрдбрд╝рдиреЗ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЪрд░рдг рдореЗрдВ рдПрдХ рд╕реНрдЯрдм рди рдбрд╛рд▓реЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдХрд┐рд╕реА рднреА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПредрдЗрд╕рд▓рд┐рдП, AQUA RTOS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИ рдУрдПрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдУрдПрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛрдб рдФрд░ рдПрд░рд░ рд╣реИрдВрдбрд▓рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝рдирд╛ред OS_Init my_err_trap
рдЯрд╛рд╕реНрдХ рдЖрд░рдВрднреАрдХрд░рдг
рджреВрд╕рд░рд╛ рдХрджрдо рдЙрдирдХреЗ рдирд╛рдо рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрд░рдВрдн рдХрд░рдирд╛ рд╣реИ: OS_InitTask task_1, 1 OS_InitTask task_2 , 1
рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдп
рдПрд▓рдИрдбреА рдЪрдордХрддреА рд╣реБрдИ
рддреЛ, рдЖрдЗрдП рдПрдХ рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ рдЬрд┐рд╕реЗ рдПрдХ рдорд╛рдирдХ Arduino рдиреИрдиреЛ V3 рдмреЛрд░реНрдб рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдУрдПрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг), рдФрд░ рд╡рд╣рд╛рдВ рдирд┐рдореНрди рдмреЗрд╕-рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ:
Arduino рдмреЛрд░реНрдб рдХреЗ D4 рдФрд░ D5 рдкрд┐рди (рдпрд╛ рдХреЛрдб рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдмрджрд▓рдХрд░ рдЕрдиреНрдп рдкрд┐рди) рдХреЛ рдПрд▓ рдИ рдбреА рдХреЗ рдПрдиреЛрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ ред 100 ... 500 рдУрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреИрдереЛрдб рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ GND рдмрд╕ рдХреЛ рдкреНрд░рддрд┐рд░реЛрдзрдХ ред рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдмреЛрд░реНрдб рдкрд░ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВред рдПрд▓рдИрдбреА 2 рдФрд░ 0.66 рдПрд╕ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗредрдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╣рдо рдЙрдкрдХрд░рдг рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ (рд╣рдо рдХрдВрдкрд╛рдЗрд▓рд░ рдСрдкреНрд╢рдиреНрд╕, рдкреЛрд░реНрдЯреНрд╕ рдХрд╛ рдореЛрдб рдФрд░ рдПрд▓рд┐рдпрд╕реЗрд╕ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ), рдлрд┐рд░ рдУрдПрд╕ рд╣реА, рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЯрд╛рд╕реНрдХредрдЪреВрдБрдХрд┐ рдЕрднреА рдмрдирд╛рдП рдЧрдП рдХрд╛рд░реНрдп "рдмрдВрдж" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ "рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░" рдХрд╛ рджрд░реНрдЬрд╛ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╢рд╛рдпрдж рд╕рднреА рдХрд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ - рдЖрдЦрд┐рд░рдХрд╛рд░, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ, рдбреЗрд╡рд▓рдкрд░ рдХреА рдордВрд╢рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╢реБрд░реВ рдореЗрдВ рдПрдХ рд░реЛрдХрд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ) рдХреЗрд╡рд▓ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рддреБрд░рдВрдд рдирд╣реАрдВ; рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддреБрд░рдВрдд рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рд╣рдо OS_ResumeTask рд╕реЗрд╡рд╛ рдХрд╣рддреЗ рд╣реИрдВ редрдЕрдм рдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдХреМрди рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛? рдмреЗрд╢рдХ, рдбрд┐рд╕реНрдкреИрдЪрд░! рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреА рдкрд╣рд▓реА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдм, рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдбрд┐рд╕реНрдкреИрдЪрд░ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдЧрд╛, рдФрд░ рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЛ рдЕрдВрддрд┐рдо рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдЖрдЗрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред рдпрд╣ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЕрдВрддрд╣реАрди рдбреВ-рд▓реВрдк рдХреЗ рд░реВрдк рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рджреВрд╕рд░реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдкрддреНрддрд┐ - рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЪрдХреНрд░ рдХреЗ рднреАрддрд░ рдбрд┐рд╕реНрдкреИрдЪрд░ рдпрд╛ рдУрдПрд╕ рд╕реЗрд╡рд╛ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХреЙрд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдЦреБрдж рдХреЗ рдмрд╛рдж рдХреЙрд▓ рдХрд░рддреА рд╣реИ - рдЕрдиреНрдпрдерд╛ рдРрд╕рд╛ рдХрд╛рд░реНрдп рдХрднреА рднреА рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рдЫреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ OS_Delay рджреЗрд░реА рд╕реЗрд╡рд╛ рд╣реИ ред рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЛ рд░реЛрдХрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПредрдпрджрд┐ рдЖрдк рдХреЛрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдирд┐рд░рдВрддрд░ OS_SIM = TRUE рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрд┐рдк рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ OS рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИредрдбрд┐рд╕реНрдкреИрдЪрд░ рдЬрд┐рд╕реЗ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ, рдпрд╣ рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп "рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ" рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЗрди рдХрд░реЗрдВред рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╕рдорд╛рди рд╣реИ, рддреЛ рдкреНрд░реЗрд╖рдгрдХрд░реНрддрд╛ "рд╣рд┐рдВрдбреЛрд▓рд╛ рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░реЛрд▓ рдХрд░реЗрдЧрд╛", рдирдП рдкреВрд░реНрдг рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЛ рдХрддрд╛рд░ рдХреЗ рдмрд╣реБрдд рдЕрдВрдд рддрдХ рд▓реЗ рдЬрд╛рдирд╛редрдХрд╛рд░реНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, task_1 ), рдбрд┐рд╕реНрдкреИрдЪрд░ рдиреЗ рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ (рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╡рд╣ рдореБрдЦреНрдп рдХреЛрдб рдореЗрдВ рдЕрдВрддрд┐рдо рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ ) рдХреЛ task_1 рдХрд╛рд░реНрдп рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рдХреЗ рдкрддреЗ рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдХ рдкрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ , рдЬрд┐рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдЯрд╛рд╕реНрдХ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд░рд┐рдЯрд░реНрди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдмрд▓реЛрдВ рдХреЛ рд╕реНрдЯреИрдХ рд╕реЗ рд╡рд╛рдкрд╕реА рдкрддреЗ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдордХреЗ рдФрд░ рдЙрд╕ рдкрд░ рдЬрд╛рдПрдВ - рдЕрд░реНрдерд╛рдд, task_1 рдХрд╛рд░реНрдп (рдСрдкрд░реЗрдЯрд░) рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╢реБрд░реВ рдХрд░реЗрдВрдХрд░ рдХреЛрдб Task_1 )редрдЯрд╛рд╕реНрдХ task_1 , рдЗрд╕рдХреА LED рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ, OS_delay рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдбрд┐рд╕реНрдкреИрдЪрд░ рдореЗрдВ рдЬрд╛рддреА рд╣реИредрдкреНрд░реЗрд╖рдХ рдЙрд╕ рдкрддреЗ рдХреЛ рдЯрд╛рд╕реНрдХ 1 рдЯрд╛рд╕реНрдХ рдХрдВрдЯреНрд░реЛрд▓ рдпреВрдирд┐рдЯ рдкрд░ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ рдЬреЛ ( OS_delay рдХреЙрд▓ , рдпрд╛рдиреА рд▓реВрдк рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХреЗ рдмрд╛рдж рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ), рдФрд░ рдлрд┐рд░, "рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЛрдбрд╝", рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рд╕реНрдХ рдЕрдм рдкреВрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдХрд╛рд░реНрдп рдХреЗ рдкрддреЗ рдХреЗ рдвреЗрд░ рдкрд░ рдбрд╛рд▓рддрд╛ рд╣реИ task_2 (рдкрд▓ рдЕрдиреБрджреЗрд╢ рдкрд░ рдЕрдВрдХ рдХрд░рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХреЛрдб рдореЗрдВ task_2 ) рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИрд╡рд╛рдкрд╕реА , рдЬреЛ рдПрдордХреЗ рдХреЛ рд╕реНрдЯреИрдХ рд╕реЗ рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдФрд░ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ - рдЕрд░реНрдерд╛рдд, рдХрд╛рд░реНрдп 2 рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ редрдЯрд╛рд╕реНрдХ task_2 , рдЗрд╕рдХреА рдПрд▓рдИрдбреА рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реБрдП, OS_delay рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдбрд┐рд╕реНрдкреИрдЪрд░ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИредрдкреНрд░реЗрд╖рдХ рдЙрд╕ рдкрддреЗ рдХреЛ рдЯрд╛рд╕реНрдХ 1 рдЯрд╛рд╕реНрдХ рдХрдВрдЯреНрд░реЛрд▓ рдпреВрдирд┐рдЯ рдкрд░ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ рдЬреЛ ( OS_delay рдХреЙрд▓ , рдпрд╛рдиреА рд▓реВрдк рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХреЗ рдмрд╛рдж рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ), рдФрд░ рдлрд┐рд░, "рд╣рд┐рдВрдбреЛрд▓рд╛ рдореЛрдбрд╝", рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рд╕реНрдХ рдЕрдм рдкреВрд░рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рд╕реЗ рдЕрдВрддрд░ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдм task_1 рдХрд╛рд░реНрдп рдирд┐рдпрдВрддреНрд░рдг рдмреНрд▓реЙрдХ рдореЗрдВ рд╣реИрдХрд╛рд░реНрдп рдХрд╛ рдкреНрд░рд╛рд░рдВрдн рдкрддрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдмрд┐рдВрджреБ рдХрд╛ рдкрддрд╛ рдЬрд╣рд╛рдВ рд╕реЗ рдкреНрд░реЗрд╖рдгрдХрд░реНрддрд╛ рдХреЛ рд╕рдВрдХреНрд░рдордг рд╣реБрдЖ рдерд╛ред рд╡рд╣рд╛рдБ ( рдХрд╛рд░реНрдп 1 рдХрд╛рд░реНрдп рдХреЛрдб рдореЗрдВ рд▓реВрдк рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП ), рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЯрд╛рд╕реНрдХ task_1 рд▓реВрдк рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ , рдФрд░ рдлрд┐рд░ рдкреВрд░реЗ рдЪрдХреНрд░ "рдЯрд╛рд╕реНрдХ 1 - рдбрд┐рд╕реНрдкреИрдЪрд░ - рдЯрд╛рд╕реНрдХ 2 - рдбрд┐рд╕реНрдкреИрдЪрд░" рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛редрд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВ
рдЕрдм рдПрдХ рдХрд╛рд░реНрдп рд╕реЗ рджреВрд╕рд░реЗ рдХрд╛рд░реНрдп рдкрд░ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдЧрд╛:task 1
task 2 is waiting messagesтАж
task 1
task 1
task 1
task 1 is sending message to task 2
task 1
message recieved: Hello, task 2!
task 2 is waiting messagesтАж
task 1
task 1
...
рдЙрд╕ рдХреНрд░рдо рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдп рдФрд░ рдХрд╛рд░реНрдп рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рд╣реЛрддреЗ рд╣реИрдВред рдЬреИрд╕реЗ рд╣реА рдкреНрд░рд┐рдВрдЯ рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ 1 рдХрд╛рд░реНрдп 1 , рдирд┐рдпрдВрддреНрд░рдг рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рддрд╛рдХрд┐ рд╡рд╣ рджреВрд╕рд░реЗ рдХрд╛рдо рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЯрд╛рд╕реНрдХ 2 рдкреНрд░рд┐рдВрдЯреНрд╕ рдЯрд╛рд╕реНрдХ 2 рдореЗрд╕реЗрдЬрд┐рдВрдЧ рд╡реЗрдЯрд┐рдВрдЧ рд╣реИ ... , рдлрд┐рд░ hTopic рд╡рд┐рд╖рдп рдкрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ , рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдлрд┐рд░ рд╕реЗ рдЯрд╛рд╕реНрдХ 1 рдХрд╣рддрд╛ рд╣реИред рдпрд╣ рдЯрд╛рд╕реНрдХ 1 рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдбрд┐рд╕реНрдкреИрдЪрд░ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рд╕реНрдХ 2 рдЕрдм рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдпрд╣ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЙрд▓ рдХреЗ рдмрд╛рдж incr рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдкрд░ рдЯрд╛рд╕реНрдХ 1 рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд▓реМрдЯрд╛рддрд╛ рд╣реИ редрдЬрдм рдХрд╛рдЙрдВрдЯрд░ рдХрд╛рд░реНрдп_1_cntрдЯрд╛рд╕реНрдХ 1 рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдореВрд▓реНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛, рдХрд╛рд░реНрдп рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ - рд▓реВрдк рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдФрд░ рдкреНрд░рд┐рдВрдЯ рдХрд╛рд░реНрдп 1 рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╡рд╣ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ, рдЬреЛ рдЕрдм рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЯрд╛рд╕реНрдХ 2 рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджреЗрд╢ рд╣реИ, рдФрд░ рдЙрд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ
рдЬрдм рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдореНрди рдХреЛрдб рджреЛ рдмрдЯрди рдХрд╛ рдЪреБрдирд╛рд╡ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрд▓рдИрдбреА рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ:
рдПрдХреНрд╡рд╛ RTOS рдХреЗ рддрд╣рдд рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╡реЗрджрди рдЙрджрд╛рд╣рд░рдг
рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдХреЙрдлреА рд╡реЗрдВрдбрд┐рдВрдЧ рдорд╢реАрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдорд╢реАрди рдХреЛ рдХреЙрдлреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдмрдЯрди рдореЗрдВ рдПрд▓рдИрдбреА рдХреА рдкрд╕рдВрдж рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП; рд╕рд┐рдХреНрдХрд╛ рд░рд┐рд╕реАрд╡рд░ рд╕реЗ рд╕рдВрдХреЗрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЖрджреЗрд╢рд┐рдд рдкреЗрдп рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдкрд░рд┐рд╡рд░реНрддрди рдмрджрд▓рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдорд╢реАрди рдХреЛ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 95 рдкрд░ рд╡реЙрдЯрд░ рд╣реАрдЯрд░ рдХрд╛ рддрд╛рдкрдорд╛рди рдмрдирд╛рдП рд░рдЦрдирд╛ ... 97 ┬░ C; рдЙрдкрдХрд░рдг рдХреА рдЦрд░рд╛рдмреА рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕реНрдЯреЙрдХ рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░реЗрдВ рдФрд░ рд░рд┐рдореЛрдЯ рдПрдХреНрд╕реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдорд╛рдВрдб рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреАрдПрд╕рдПрдо рдореЙрдбреЗрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕рд┐рдЧреНрдирд▓ рдмрд░реНрдмрд░рддрд╛ рднреАредрдШрдЯрдирд╛ рдкреНрд░реЗрд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╛рдорд╛рдиреНрдп "рд╕реБрдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ + рдЭрдВрдбреЗ + рдмрд╛рдзрд┐рдд" рдпреЛрдЬрдирд╛ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрди рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПредрдЖрдЗрдП рд╣рдорд╛рд░реА рдорд╢реАрди рдХреЗ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:- рд╣реАрдЯрд░ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рдкреНрд░рдмрдВрдзрди - ControlHeater ()
- рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рдкреЗрдп рдХреА рдкрд╕рдВрдж рдХрд╛ рд╕рдВрдХреЗрдд - ShowGoods ()
- рд╕рд┐рдХреНрдХреЛрдВ / рдмрд┐рд▓реЛрдВ рдФрд░ рдЙрдирдХреЗ рдпреЛрдЧ рдХреА рд╕реНрд╡реАрдХреГрддрд┐ - AcceptMoney ()
- рдорддрджрд╛рди рдмрдЯрди - ScanKeys ()
- рдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рддрд░рдг - MakeChange ()
- рдбреНрд░рд┐рдВрдХ рд▓реАрд╡ - рд░рд┐рд▓реАрдЬрд╝рдХреЙрдлрд╝реА ()
- рдмрд░реНрдмрд░рддрд╛ рд╕рдВрд░рдХреНрд╖рдг - рдЕрд▓рд╛рд░реНрдо ()
рдЖрдЗрдП рд╣рдо рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдорд╣рддреНрд╡ рдХреА рдбрд┐рдЧреНрд░реА рдФрд░ рдЙрдирдХреА рдХреЙрд▓ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВредрдХрдВрдЯреНрд░реЛрд▓рд╣рд╛рдЗрдЯрд░ () рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдХреЙрдлреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЙрдмрд▓рддреЗ рдкрд╛рдиреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдмрд╣реБрдд рдмрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╣реАрдЯрд░ рдореЗрдВ рдЙрдЪреНрдЪ рдЬрдбрд╝рддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдкрд╛рдиреА рдзреАрд░реЗ-рдзреАрд░реЗ рдардВрдбрд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдорд┐рдирдЯ рдореЗрдВ рдПрдХ рдмрд╛рд░ рддрд╛рдкрдорд╛рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рджреЗрдВ 5. ShowGoods () рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдорд╛рд▓ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдкреНрд░рд╕реНрддрд╛рд╡ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рдХрд┐рд╕реА рднреА рд╕рд╛рдордЧреНрд░реА рдХреА рдЖрдкреВрд░реНрддрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ 8 рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВрдЧреЗ, рдФрд░ рдорд╢реАрди рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдФрд░ рд╣рд░ рдмрд╛рд░ рдорд╛рд▓ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛редрд╕реНрдХреИрдирдХреЗрдп ()рдмрдЯрди рджрдмрд╛рдиреЗ рдХреА рдЬрд▓реНрджреА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪреНрдЪ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ 3 рджреЗрдВ, рдФрд░ рд╣рдо рдЗрд╕реЗ рд╣рд░ 40 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗредAcceptMoney () рднреА рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ ScanKeys () рдХреЗ рд╕рдорд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВрдЧреЗ , рдФрд░ рдЗрд╕реЗ рд╣рд░ 20 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗредMakeChange () рдорд╛рд▓ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рд░рд┐рд▓реАрдЬрд╝рдХреЙрдлрд╝реА () рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВрдЧреЗ 10.рд░рд┐рд▓реАрдЬрд╝рдХреЙрдлрд╝реА () рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рддрднреА рд╣реИ рдЬрдм рдЙрдЪрд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдзрди рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдФрд░ рдкреЗрдп рдЪрдпрди рдмрдЯрди рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛред рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВред 2.рдЪреВрдВрдХрд┐ рдмрд░реНрдмрд░ рдкреНрд░рддрд┐рд░реЛрдз рдорд╢реАрди рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп рд╣реИ, рдЕрд▓рд╛рд░реНрдо () рдХрд╛рд░реНрдпрдЖрдк рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - 1, рдФрд░ рдЭреБрдХрд╛рд╡ рдпрд╛ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рд╕реЗрдВрд╕рд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдмрд╛рд░ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВредрдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдиреЗ EEPROM рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкрдврд╝рд╛ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛, рддреЛ рдпрд╣ рдУрдПрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рдЯрд╛рд╕реНрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
RTOS рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП: рдЗрд╕рдореЗрдВ рдбрд┐рд╕реНрдкреИрдЪрд░ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рдХреЙрд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдПрдХ OS рд╕реЗрд╡рд╛ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреА рд╣реИ) - рдпрд╣ рд╕рд╣рдХрд╛рд░реА рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рд▓реАрдЬрд╝рдХреЙрдлрд╝реА () рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИ: sub ReleaseCoffee() do OS_WaitMessage bCoffeeSelection wItem = OS_GetMessage(bCoffeeSelection) Release wItem loop end sub
рдЕрдирдиреНрдд рд▓реВрдк рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝рдХреЙрдлрд╝реА рдХрд╛рд░реНрдп , bCfishSelection рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрдм рддрдХ рдпрд╣ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ (рдирд┐рдпрдВрддреНрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд╣ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗ)ред рдПрдХ рдмрд╛рд░ рдЬрдм рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рд╣реИ, ReleaseCoffee () рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдХрд╛рд░реНрдп рд╕рдВрджреЗрд╢ (рдЪрдпрдирд┐рдд рдкреЗрдп рдХреЗ рдХреЛрдб) рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ wItem рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ OS_GetMessage рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреНрдЮрдкреНрддрд┐ рдорд╛рд▓ред рдЪреВрдВрдХрд┐ рд░рд┐рд▓реАрдЬрд╝рдХреЙрдлрд╝реА () рд╕рдВрджреЗрд╢ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╕рдВрджреЗрд╢ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: dim bCoffeeSelection as byte bCoffeeSelection = OS_CreateMessage()
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╢реЛ-рдЧреБрдбреНрд╕ () рдХреЛ рдПрдХ рдмрд╛рд░ рд╕реНрдЯрд╛рд░реНрдЯ-рдЕрдк рдФрд░ рд╣рд░ рдмрд╛рд░ рдЬрдм рдорд╛рд▓ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд┐рд▓реАрдЬрд╝рдХреЙрдлрд╝реА () рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП , рд╣рдо рдИрд╡реЗрдВрдЯ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдШрдЯрдирд╛ рдмрдирд╛рдПрдВ: dim bGoodsReliased as byte bGoodsReliased = OS_CreateEvent()
рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ ReleaseCoffee () рдкрдВрдХреНрддрд┐ рдХреЗ рдмрд╛рдж рд░рд┐рд▓реАрдЬ wItem рдРрдб рдЕрд▓рд╛рд░реНрдо рдШрдЯрдирд╛ bGoodsReliased : OS_SignalEvent bGoodsReliased
рдУрдПрд╕ рдЖрд░рдВрднреАрдХрд░рдг
рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдУрдПрд╕ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкрддреЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдореЗрдВ рд╣реИред рд╣рдо OS_Init рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ : OS_Init Mailfuncion
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдореЗрдВ, рдЖрдкрдХреЛ рдПрдХ рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд┐рд╕рдХрд╛ рдмрд╛рдЗрдЯ рддрд░реНрдХ рддреНрд░реБрдЯрд┐ рдХреЛрдб рд╣реИ: sub Mailfuncion (bCoffeeErr) print "Mailfunction! Error #: "; bCoffeeErr if isErrCritical (bCoffeeErr) = 1 then CallService(bCoffeeErr) end if end sub
рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛрдб рдкреНрд░рд┐рдВрдЯ рдХрд░рддреА рд╣реИ (рдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ: рд╕реНрдХреНрд░реАрди рдкрд░, рдЬреАрдПрд╕рдПрдо рдореЙрдбрдо, рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), рдФрд░ рдпрджрд┐ рддреНрд░реБрдЯрд┐ рдЧрдВрднреАрд░ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕реЗрд╡рд╛ рд╡рд┐рднрд╛рдЧ рдХрд╣рддрд╛ рд╣реИредрдХрд╛рд░реНрдп рдХрд╛ рд╢реБрднрд╛рд░рдВрдн
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╛рдж рд╣реИ рдХрд┐ рдШрдЯрдирд╛рдУрдВ, semaphores, рдЖрджрд┐ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ OS_InitTask рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП : OS_InitTask ControlHeater , 5 OS_InitTask ShowGoods , 8 OS_InitTask AcceptMoney , 3 OS_InitTask ScanKeys , 3 OS_InitTask MakeChange, 10 OS_InitTask ReleaseCoffee , 2 OS_InitTask Alarm , 1
рдЪреВрдВрдХрд┐ рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдореЛрдб рдЕрднреА рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдп рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдХреНрд░рдо рдирд┐рд░рд░реНрдердХ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдирдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╕рднреА рдХрд╛рд░реНрдп рдЕрднреА рднреА рдмрдВрдж рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ "рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░" рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OS_ResumeTask рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП : OS_ResumeTask ControlHeater OS_ResumeTask ShowGoods OS_ResumeTask AcceptMoney OS_ResumeTask ScanKeys OS_ResumeTask MakeChange OS_ResumeTask ReleaseCoffee OS_ResumeTask Alarm
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП; рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд┐рд╕реА рднреА рд╕рдордп "рдмрдВрдж" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рддрддреНрдкрд░рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред OS_ResumeTask рд╕реЗрд╡рд╛ рдХреЛ рдХреЛрдб (рдкреГрд╖реНрдарднреВрдорд┐ рдпрд╛ рдХрд╛рд░реНрдп) рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рдХрд┐рд╕реА рднреА рд╕рдордп рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣рд╛ рд╣реЛред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ-рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╣реИредрдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рд╢реБрд░реВ
рдЕрдм рд╕рдм рдХреБрдЫ рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рд╣рдо рдЗрд╕реЗ рдбрд┐рд╕реНрдкреИрдЪрд░ рдмреБрд▓рд╛рдХрд░ рдХрд░рддреЗ рд╣реИрдВ: OS_Sheduler
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЕрдВрдд рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ - рдУрдПрд╕ рдЕрдм рдХреЛрдб рдХреЗ рдЖрдЧреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИредрдЖрдЗрдП рджреЗрдЦреЗрдВ рдкреВрд░рд╛ рдХреЛрдб:
рдмреЗрд╢рдХ, рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛, рдмрдЯрди рдФрд░ рдЖрд╡рдзрд┐рдХ рд╕реЗрдВрд╕рд░ рдХреЗ рдЖрд╡рдзрд┐рдХ рдорддрджрд╛рди рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╡реНрдпрд╡рдзрд╛рдиреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рдеред рдЗрди рд░реБрдХрд╛рд╡рдЯреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдореЗрдВ, рд╣рдо рджрдмрд╛рдП рдЧрдП рдХреБрдВрдЬреА рдХреА рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╕рд┐рдХреНрдХреЗ / рдмрд┐рд▓ рдХреЗ рдореВрд▓реНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде OS_SendMessage () рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдореИрдВ рдкрд╛рдардХ рдХреЛ рдЕрдкрдиреЗ рджрдо рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдХрд╛рд░реНрдп-рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рдУрдПрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАредрдПрдХреНрд╡рд╛ RTOS рд╕реНрд░реЛрдд рдХреЛрдб
рд╕рдВрд╕реНрдХрд░рдг 1.05 рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдЙрдкрд╕рдВрд╣рд╛рд░
рдХреНрдпреВ: рдХреНрдпреЛрдВ рдПрдХреНрд╡рд╛?рдПрдХ: рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдПрдХреНрд╡реЗрд░рд┐рдпрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рдХрд┐рдпрд╛, рдпрд╣ рдПрдХ "рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо" рд╣реИ, рди рдХреЗрд╡рд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдордЫрд▓реА рдХреЗ рд▓рд┐рдПред рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЗрдВрд╕рд░, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдШрдбрд╝реА, рд░рд┐рд▓реЗ рдФрд░ рдПрдирд╛рд▓реЙрдЧ рдкрд╛рд╡рд░ рдЖрдЙрдЯрдкреБрдЯ, рдСрди-рд╕реНрдХреНрд░реАрди рдореЗрдиреВ, рдПрдХ рд▓рдЪреАрд▓рд╛ "рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо" рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╡рд╛рдИрдлрд╛рдИ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рднрд░рд╛ рд╣реБрдЖред рдЕрдВрддрд░рд╛рд▓ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдмрдЯрди рдХреЛ рдорддрджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реЗрдВрд╕рд░ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ EEPROM рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реНрдХреНрд░реАрди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╛рдИ-рдлрд╛рдИ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдореЗрдиреВ рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЭрдВрдбреЗ рдФрд░ рд╡реНрдпрд╡рдзрд╛рди рдкрд░ рдХрд░рдирд╛ рдмрд╣реБрдд рд╣реА "рдкрд╛рд╕реНрддрд╛ рдХреЛрдб" рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рди рддреЛ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рди рд╣реА рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдУрдПрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╡рд╣ рдПрдХреНрд╡рд╛ рд╣реИредрдкреНрд░рд╢реНрди: рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдб рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЧрдбрд╝рдмрдбрд╝рд┐рдпреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реИ?A: рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред рдореИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдУрдПрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрдЧ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрдЦреНрдпрд╛ рднреА рдбрд╛рд▓реА, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХреЛрдб рдХреА рдкрд┐рдЫрд▓реА рд╕рдбрд╝рдХреЛрдВ рдореЗрдВ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛, рдЕрдЧрд░ рдореБрдЭреЗ рдЪреЗрд╣рд░реЗ рдкрд░ рдХреАрдбрд╝реЗ рд▓рдЧрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рд╡рд┐рдирдореНрд░рддрд╛ рдФрд░ рдЪрддреБрд░рд╛рдИ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдореБрдЭреЗ рдмреЗрд╣рддрд░ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╕рдордЭрддреЗ рд╣реИрдВред рд╕рд╛рдореВрд╣рд┐рдХ рд░рдЪрдирд╛рддреНрдордХрддрд╛ рдХреЗ рдЙрддреНрдкрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рдпрд╣ рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╕реЗрдорд╛рдлреЛрд░рд╕ рдХреА рдЧрд┐рдирддреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ (рднреВрд▓ рди рдЬрд╛рдПрдВ? - рдореИрдВ рдПрдХ рдЖрд▓рд╕реА рдЧрдзрд╛ рд╣реВрдВ) рдФрд░ рдЕрдиреНрдп рд╕реБрдзрд╛рд░реЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реВрдВред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рд░рдЪрдирд╛рддреНрдордХ рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред