рдПрдХ рдЪрдордХрддреА "рд░рд╛рдЗрдиреЛ" рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдХрд╛ рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧред рднрд╛рдЧ реи


рд╣рдо рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ SMARTRHINO-2018 рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЪрдордХрддреА рд░рд╛рдЗрдиреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкрд░ рд▓реЗрдЦ рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред

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

рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ, рд╢реЗрд╖ рдлрд░реНрдорд╡реЗрдпрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╛рдЗрд▓ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред

рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗрд╡рд▓ рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред

рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЪрдордХрддреЗ рд╣реБрдП рд░рд╛рдЗрдиреЛ рд╣реЛрддреЗ рд╣реИрдВред

рдПрд▓рдИрдбреА рдХрд╛рд░реНрдп


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдПрд▓ рдИ рдбреА рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдгред рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред

LED рдХрд╛рд░реНрдп x_leds_task рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ 0x08005A08 рдкрд░ рд╕реНрдерд┐рдд рд╣реИред

рдПрд▓рдИрдбреА рдХрд╛рд░реНрдп рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдореЗрдВ "рдореБрдЭреЗ рдПрдХ рд╕реБрдкрд░ рдкрд╛рд╡рд░ рдорд┐рд▓реА рд╣реИ ..." рдЕрдЬреАрдм рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд▓рд╛рдЗрди "рд╣реНрдпреВ> рдЕрдзрд┐рдХрддрдо: рдкрд░рд┐рд╡рд░реНрддрди рдЪрдордХ \ r \ n" рдкрд░ рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ ред



рдЙрд╕реА рд╕рдордп, рд╣рдо рдПрдХ рдкрд░рд┐рдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рджреЗрдЦрддреЗ рд╣реИрдВ - (WORD *) (v26 + 4)ред рдЪрд░ v26 рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ, рдЖрдЗрдЯрдо "рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдмрджрд▓реЗрдВ *" рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдлрд┐рд░ рдкрд╣рд▓реЗ рдмрдирд╛рдИ рдЧрдИ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ:



рдЙрд╕ v5 = v26 рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рдЪрд░ v5 рдХреЗ рд▓рд┐рдП "рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдмрджрд▓реЗрдВ *" рдСрдкрд░реЗрд╢рди рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВред

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

  • рд╡реА 5 - рдПрд▓рдИрдбреА ;
  • v6 - рдЖрдИрдбреАрдПрдХреНрд╕ ;
  • v8 - hue_1 ;
  • v9 - hue_2 ;
  • v26 - _led ;

рдХреЛрдб рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреБрдЫ рдЪрд░ рдЕрднреА рднреА рдЖрдВрдЦ рдХреЛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд░ v23:





рдЬрд╛рд╣рд┐рд░ рд╣реИ, v23 4 рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИред
idx рдПрд▓рдИрдбреА рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИ; рдпрд╣ рд╕реВрдЪрдХрд╛рдВрдХ рдЖрдзрд╛рд░ рдкрддреЗ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрд╕ рддрд░рд╣, рдПрдХ рд╣реА рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЗ рддрддреНрд╡реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ - рдпрд╣ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред

рд╣рдо char v23[4] рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ char v23[4] рдФрд░ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ leds_smth рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдХреЛрдб рдкреНрд░реАрдЯрд┐рдпрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:



рдЖрдк рдпрд╣ рднреА рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ x_queue_recv рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо v25 рдЪрд░ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ:

 x_queue_recv(&v25, leds_queue, 1000); 

рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ _led рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдХреИрд╕реЗ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЪрд░ v25 рдФрд░ _led рд╕реНрдЯреИрдХ рдкрд░ рдкрд╛рд╕ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ - рдпрд╣ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдХрдореНрдкрд╛рдЗрд▓ рдореЗрдВ рд╡реЗ рдЖрд╕рдиреНрди рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЪрд░ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреИрдХ рдкрд░ рдЪрд░ рдХрд╛ рд╕реНрдерд╛рди рдПрдХ рдЕрд▓рдЧ рд╡рд┐рдВрдбреЛ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



рд╡реЗ рд╢рд╛рдпрдж рдПрдХ рд╕рдВрд░рдЪрдирд╛ рд╣реИрдВ, рдпрд╛ рд╕рдВрдХрд▓рдХ рдиреЗ рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реВрдЯреВрде рдХрд╛рд░реНрдп рд╕реЗ рдбреЗрдЯрд╛ рдПрд▓рдИрдбреА рдХрд╛рд░реНрдп рдХреЛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ - рдмреНрд▓реВрдЯреВрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╢реВрдиреНрдп рдПрд▓рдИрдбреА рдХреЗ рд▓рд┐рдП рдореИрдВ 0x208 , 0x2D0 , 0x398 , 0x3E9 рдорд╛рдиреЛрдВ рдХреЛ рднреЗрдЬреВрдВрдЧрд╛ , рдЬрд┐рдиреНрд╣реЗрдВ рдХреЛрдб рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╣реНрдпреВ рдореВрд▓реНрдп рдХреА рдЬрд╛рдБрдЪ рдХреЗ рдкрд░рд┐рдгрд╛рдо:

  • 0x208 - рдПрд▓ рдИ рдбреА рдиреЗ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛: рд▓рд╛рд▓, рд╣рд░рд╛, рдиреАрд▓рд╛, рдмреИрдВрдЧрдиреА;
  • 0x2D0 - рдПрд▓ рдИ рдбреА рдлрд┐рд░ рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛;
  • 0x398 - рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ;
  • 0x3E9 - рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдлрд┐рд░ рд╕реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рди 0x398 рдХреЛ 0x167 рд╕реЗ рдХрдо рдорд╛рди рдХреЗ рд╕рд╛рде рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕рд░рдгреА рддрддреНрд╡ leds_smth рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рди рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ )ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рдЪреЗрдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реВрдВрдЧрд╛: рдкрд╣рд▓рд╛, рдореИрдВ рдкрд╣рд▓реЗ рдПрд▓рдИрдбреА рдХреЛ рд╣рд░рд╛ (hue = 0x78, LED 010078FF20 ) LED 010078FF20 , рдЬрдмрдХрд┐ рдЕрдиреНрдп рддреАрди рдПрд▓рдИрдбреА рдЕрдкрдиреЗ рд░рдВрдЧ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред


рдЕрдм рдореИрдВ рдмреНрд▓реВрдЯреВрде рдкреНрд░реЛрдЯреЛрдХреЙрд▓ LED 010398FFFF - рдЗрд╕рдХреЗ рдмрд╛рдж рдкрд╣рд▓реА рдПрд▓рдИрдбреА рд╕рд╛рдорд╛рдиреНрдп рд░рдВрдЧ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдЖ рдЧрдИ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, 0x398 рдХрд╛ тАЛтАЛрд╣реНрдпреВ рдорд╛рди рд╕реНрдерд┐рд░ рд░рдВрдЧ рдорд╛рди рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрд▓ рдИ рдбреА рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓рдИрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реАрдбреНрд╕_рд╕реНрдорд┐рде рдПрд░реЗ рдореЗрдВ рдЭрдВрдбреЗ (0 рдпрд╛ 1) рд╣реИрдВ:

  • 0 - рдПрд▓рдИрдбреА рд╡реНрдпрд╕реНрдд рдирд╣реАрдВ рд╣реИ, рдЪрд┐рдХрдиреА рд░рдВрдЧ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реИ ( рд╣реНрдпреВ = 0x398 );
  • 1 - рдПрд▓рдИрдбреА рд╡реНрдпрд╕реНрдд рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╕реНрдерд┐рд░ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ ( рд╣реНрдпреВ <= 0x167 )ред

Leds_smth рдХреЛ leds_busy рдХрд╛ рдирд╛рдо рджреЗрдВред

рдЕрдм рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдмреНрд▓реЙрдХ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:



83-101 рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЪрдХреНрд░ 5: v12 += 5 рд░рдВрдЧ рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдЪрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЪрд┐рдХрдиреА рд░рдВрдЧ рдореЛрдЬрд╝реЗрдХ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдПрд▓рдИрдбреА рдкрд░ рд╕реНрдерд┐рд░ рд░рдВрдЧ рд╣реИ, рддреЛ рдпрд╣ рдПрд▓рдИрдбреА рдореЛрдЬрд╝реЗрдХ рдореЗрдВ рднрд╛рдЧ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИред рдЪрдХреНрд░ рдХреЗ рдмрд╛рдж рд╕рднреА рдПрд▓рдИрдбреА рдХреЗ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рд╡реЗрд╢ рдХреА рд░реЗрдЦрд╛рдПрдВ рд╣реИрдВред

рдирд╛рдо рдмрджрд▓рдиреЗ:

  • sub_800678A - x_led_set_hsv ;
  • v12 - hue_step ;
  • v13, v17, v18, v19 - led0_busy , led1_busy , led2_busy , led3_busy ;
  • v11, v20, v21, v22 - hue0 , hue1 , hue2 , hue3 ;
  • dword_200004C4 - led_control

рдЙрдк_80039FE рдлрд╝рдВрдХреНрд╢рди рд╕рдВрднрд╡рддрдГ рдПрдХ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХрд░рддрд╛ рд╣реИ (рдЕрдиреНрдпрдерд╛ рдПрд▓ рдИ рдбреА рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рддреБрд░рдВрдд), рдЪрд▓реЛ рдЗрд╕реЗ x_sleep рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЪрд░ v16 led_timeout рд╣реИ ред

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

рдЗрди рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд╝рдВрдХреНрд╢рди sub_8006944 рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ (рд╣реНрдпреВ рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ <= 0x167 рд╢рд╛рдЦрд╛):



рдпрд╣ рдмрд╕ рдПрд▓рдИрдбреА рдХреЗ рд░рдВрдЧ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ sub_8006944 рд╕реЗ x_led_set_hsv_wrap (рдкреНрд░рддреНрдпрдп _wrap - рдПрдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдкрд░ "рдЖрд╡рд░рдг" рд╣реИ) рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕реЗрдЯ рдХрд░реЗрдВ:

 signed int __fastcall x_led_set_hsv_wrap(int led_control, signed int idx, int hue, char sat, char val) 

рдЪрд▓реЛ x_leds_task рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдПрдХ рд╕реНрддрд░ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдк рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢рд╛рдЦрд╛ "hue> 0x3E8" рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рд╢реБрд░реВ рд╣реБрдИ:



рдпрд╣реА рд╣реИ, 0x3E8 рд╕реЗ рдЕрдзрд┐рдХ рдПрдХ рд╣реНрдпреВ рдореВрд▓реНрдп рд░рдВрдЧреАрди рдореЛрдЬрд╝реЗрдХ рдХреЗ рд╕рдордп рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреБрдЫ рдорд╛рди рднреЗрдЬрдХрд░ рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛:

  • рд╣реНрдпреВ = 0x3E9 - рдПрд▓ рдИ рдбреА рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛:


  • рд╣реНрдпреВ = 0xFFFF - рдПрд▓ рдИ рдбреА рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛:



рдЬрдм рдПрд▓рдИрдбреА рдХрд╛рд░реНрдп рдХреЗ рдореБрдЦреНрдп рдЪрдХреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ, рддреЛ sub_8003C44 рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ sub_8005070 рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:



рдирд╛рдо рдмрджрд▓рдиреЗ:

  • sub_8005070 - x_freeMsg ;
  • sub_8003C44 - x_free_queue ред

рдПрд▓рдИрдбреА рдХрд╛рд░реНрдп рдореЗрдВ рдЖрдЧреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд╛рдЦрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ:



рдЖрдк LED B816D8D90000FFFF рдХрдорд╛рдВрдб LED B816D8D90000FFFF рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ 2 рд╡рд░реНрдгреЛрдВ рдХреЛ рд╣реА рдПрд▓рдИрдбреА рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдХреЛрдб рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╕рдлрд▓ рд╣реЛрдЧрд╛ред рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдмрд╛рдж рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдВред рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ sub_8004AE8 рд╕реЗ x_mad_blinking рддрдХ , рдФрд░ рдпрд╣ x_printf рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ (рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЧрд▓рдд рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд▓рд┐рдЦрд╛ рдерд╛):

 void x_printf(const char *format, ...) 

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

рдЖрдЗрдП рдХреЛрдб рджреЗрдЦреЗрдВ:



рд▓рд╛рдЗрди 49 рдореЗрдВ, рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдПрд▓ рдИ рдбреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░, рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рдм_8004BBC рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡реНрдпрд╡рдзрд╛рди рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрдирдВрдд рд▓реВрдк рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓рд╛рдЗрди "/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx.xxx "ред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдПрдХ рдореБрдЦрд░ рдпрд╛ рд╕рдорд╛рди рдХрд╛рд░реНрдп рд╣реИред

рдирд╛рдо рдмрджрд▓рдиреЗ:

  • sub_8004BBC - x_gpio_assert ;
  • sub_800698C - x_check_gpio ред

рд╕рдм -8006968 рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдЖрдк рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрдм рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:


рд╕рднреА рдЪрд╛рд░ рдПрд▓ рдИ рдбреА рдПрдХ рд╕рд╛рде рдкрд╣рд▓реЗ рд▓рд╛рд▓, рдлрд┐рд░ рд╣рд░реЗ, рдлрд┐рд░ рдиреАрд▓реЗ рд░рдВрдЧ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЗрдВ рд░рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: 0-рд▓рд╛рд▓, 1-рд╣рд░рд╛, 2-рдиреАрд▓рд╛, 3-рд╡рд╛рдпрд▓реЗрдЯред рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╡реЗ рдореЛрдЬрд╝реЗрдХ рдХреЛ рдмрджрд▓рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЪреВрдВрдХрд┐ рдореЛрдЬрд╝реЗрдХ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдЪрдХреНрд░ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдЪрдХреНрд░ рд╕реЗ рдкрд╣рд▓реЗ 58-61 рд▓рд╛рдЗрдиреЗрдВ рдПрд▓рдЗрдбреА рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдВрдЧреЛрдВ рдХреЗ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рд╡реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ, рдФрд░ 52-56 рд▓рд╛рдЗрдиреЗрдВ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдПрд▓рдИрдбреА рдкрд░ рд▓рд╛рд▓-рд╣рд░рд╛-рдиреАрд▓рд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ sub_8006968 рд╕реЗ x_led_all_set_rgb (RGB - рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдПрдХ рдХреВрдмрдбрд╝ рдкрд░, рдкрд╛рд░рд┐рдд рддрд░реНрдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░)ред

рдПрд▓рдИрдбреА рдХрд╛рд░реНрдп рдореЗрдВ рд╡рд┐рд╖рдорддрд╛рдПрдВ


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдЕрдЬреАрдм рд▓рд╛рдЗрдиреЛрдВ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ред

рдЕрдм x_leds_task рдлрд╝рдВрдХреНрд╢рди рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдУрд░ рдЪрд▓рддреЗ рд╣реИрдВ:



"рдПрд░рд╛рдЬрд╝" , "рдЬреАрди" , "рдлреНрд▓реИрд╢" , "рд░реАрд╕реЗрдЯ" - рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рд╣реИ ???

рдЖрдЗрдП рдЗрд╕реЗ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдм_80066BC x_leds_task_init рд╣реЛрдиреЗ рджреЗрдВ ред

рдЖрдЗрдП рд╕рдм_8006B38 рдХреЛ рджреЗрдЦреЗрдВ:



рд╢реБрджреНрдз рдкрд╛рдиреА рдпрд╛рдж рд╣реИ, рд╕рд╣рдордд рд╣реИрдВ?



рд╡рд╛рдкрд╕ x_leds_task рдкрд░ рдЬрд╛рдПрдВред V24 рдЪрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрд▓рдд рд╣реИ:



рдЖрдИрдбреАрдП рдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝реА рдЧрд▓рддреА рдХреА, рд▓реЗрдХрд┐рди рд╕реНрдЯреИрдХ рдорд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред рдЪрд░ v24 рдФрд░ v25 рдХреЗ рдмреАрдЪ 12 рдмрд╛рдЗрдЯреНрд╕ (0x44 - 0x38) рдХреЗ рд░реВрдк рдореЗрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо unsigned __int8 buf[12] рдирд╛рдо рдмрджрд▓рдХрд░ buf рдФрд░ unsigned __int8 buf[12] рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ (Ida рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЧрд╛ рдХрд┐ рдирдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкреБрд░рд╛рдиреЗ рд╕реЗ рдмрдбрд╝рд╛ рд╣реИ - рд╣рдо рд╕рд╣рдордд рд╣реИрдВ)ред

рдЕрдЧрд▓рд╛ред рдЙрдк_8004CE4



A1 рдХреЛ buf , v1 рд╕реЗ _buf рдирд╛рдо рджреЗрдВ ред

рдлрд╝рдВрдХреНрд╢рди рдЙрдк_8006B26:



рдХреНрдпрд╛ рддреБрдордиреЗ рдЙрд╕реЗ рдкрд╣рдЪрд╛рди рд▓рд┐рдпрд╛?

рдФрд░ рдЕрдЧрд░ рдмрд┐рдирд╛ рдореЗрдХрдЕрдк рдХреЗ?

рдмреЗрд╢рдХ рдпрд╛рджрдЧрд╛рд░ ред рдирд╛рдо рдмрджрд▓реЗрдВред

рдлрд┐рд░ рд╕рдм_8004CE4 рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп 0x08007C00 рдкрддреЗ рдкрд░ рдХреБрдЫ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ ред рд╡реИрд╕реЗ, рдпрд╣ рдкрддрд╛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ) рдХреА рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреЗ рдкрддреЗ рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реИред Sub_8004CE4 рдХреЛ x_read_data_0x08007C00 рдкрд░ рдкреБрдирд░реНрдирд╛рдорд┐рдд рдХрд░реЗрдВ ред

X_leds_task рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдЗрди 36:

 if ( (unsigned int)buf[0] - 65 > 0x19 ) 

рдбреЗрдЯрд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдмрджрд▓реЗрдВ (рдирдВрдмрд░ 65 рдкрд░ R рдХреБрдВрдЬреА, рдирдВрдмрд░ 0x19 рдкрд░ H рдХреБрдВрдЬреА):

 if ( (unsigned int)buf[0] - 'A' > 25 ) 

рдереЛрдбрд╝рд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд▓реИрдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛ AZ рдХреА рд╢реНрд░реЗрдгреА рдХрд╛ рдРрд╕рд╛ рдкрд░реАрдХреНрд╖рдг рд╣реИред

рдЕрдЧрд▓рд╛, рд╕реНрд╡рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдирд╛рдо рдмрджрд▓реЗрдВ:

  • sub_8004C10 - x_erase ;
  • sub_80059C8 - x_gen ;
  • sub_8004C84 - x_flash ред

рд╕рдм_8003C66 рдлрд╝рдВрдХреНрд╢рди рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ - sub_8003C66 рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ x_smth_inc ред

X_erase рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рднреА рддрд░реНрдХ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕реЗ рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓рд░ рдореЗрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



X_erase рдХреЗ рдЕрдВрджрд░, рдкрд░рд┐рдЪрд┐рдд рдкрддрд╛ 0x08007C00 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддреАрди рдЕрдЬреНрдЮрд╛рдд рдлрд╝рдВрдХреНрд╢рди рдПрдХреНрд╕реЗрд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:



рдЗрди рддреАрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ , рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ 0x40022000 - 0x400223FF рд░реЗрдВрдЬ рдореЗрдВ рдкрддреЗ рддрдХ рдкрд╣реБрдВрдЪ рд░рд╣реЗ рд╣реИрдВред рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рдлреНрд▓реИрд╢ рдЗрдВрдЯрд░рдлрд╝реЗрд╕" рд░реЗрдВрдЬ рд╣реИред рдпрд╣реА рд╣реИ, x_erase рдлрд╝рдВрдХреНрд╢рди рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЛ рдорд┐рдЯрд╛ рджреЗрддрд╛ рд╣реИ - рдорд╣рд╛рди!

рдЬрд╛рд╣рд┐рд░ рд╣реИ, x_flash рдлрд╝рдВрдХреНрд╢рди рдореЗрдореЛрд░реА рдХреЛ рдлреНрд▓реИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрддрд╛ рд╣реИ, рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди рдХреА рд▓рдВрдмрд╛рдИ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рд╡реИрд╕реЗ, a2 рдФрд░ a3 рдХреЗ рддрд░реНрдХ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИрдВ - рд╣рдо рдЖрдЗрдбрд┐рдпрд╛ рдХреА рдорджрдж рдХрд░реЗрдВрдЧреЗ):



рдФрд░ рдпрд╣ рд╕рдм "рд▓рд╛рдЗрдЯрд┐рдВрдЧ рдбрд┐рд╡рд╛рдЗрд╕" рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ ???

рдЦреИрд░, x_gen рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рддреНрд╡рд░рд┐рдд рд░реВрдк рдФрд░ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:



Sub_8006CB4 рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рдФрд░ рдЙрдк_8006D10 - рдЗрд╕ рддрд░рд╣:



рдЗрди рдЕрд╢рд┐рд╖реНрдЯ рд╕реБрдВрджрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЛ рд╡рд╛рдкрд╕ рди рд░рдЦреЗрдВ: 0xABCD , 0x1234 , 0xE66D , 0xDEEC , 0x4C957F2D рдФрд░ 0x5851F42D ред рдпрджрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдЕрднреА рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдореЗрдВ рдЗрди рд╕реНрдерд┐рд░рд╛рдВрдХ рдкрд╛рдПрдВрдЧреЗред рдХреЛрдИ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рдХрд┐ рдореВрд▓ рдХрд╛рд░реНрдп рдХреЛ x_gen рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рднреА рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рд╣реИ: рд▓реВрдк рд╕реЗ рдкрд╣рд▓реЗ рд╢реНрд░реАрдЦрдВрдб () рдХреЙрд▓ рдХрд░реЗрдВ, рдФрд░ рд▓реВрдк рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ () рдХреЙрд▓ рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ:

  • sub_8006D10 - x_rand;
  • sub_8006CB4 - x_srand

рдПрдХ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдкрд╛рдардХ, sub_8005098 рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦрдХрд░ , рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд░рдВрдб рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдмреАрдЬ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ ред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, x_gen рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдХрд╛рд░ рдХрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ ред

рдореЗрдореЛрд░реА рдХреЛ рдлреНрд▓реИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрдЯ рд▓рд╛рдЗрди рдХреЛ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдбрд┐рд╡рд╛рдЗрд╕ рд░рд┐рдмреВрдЯ рд╣реЛрддрд╛ рд╣реИ:



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

MadBlinking рдореЛрдб рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдПрд▓рдИрдбреА рдХрд╛рд░реНрдп рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдЗрдП рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦреЗрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдиреНрдп рдХрд╛рд░реНрдп рдХреНрдпрд╛ рд╣реИрдВ:



рдХреЛрдб рдореЗрдВ рддрд╛рд░ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕ рддрд╕реНрд╡реАрд░ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирд╛рдо рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ, рдлрд┐рд░ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╣реИред рдФрд░ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпреЗ рдХрд╛рд░реНрдп рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:



рдЖрдЗрдП рдЧреБрдорд╢реБрджрд╛ рдирд╛рдордХрд░рдг рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

  • sub_80050FC - x_sensor_task ;
  • sub_8004AAC - x_watchdogTask ;
  • sub_8005440 - x_uartRxTask ред

рдкреНрд░рд╣рд░реА рдХрд╛ рдХрд╛рд░реНрдп


рдХрд╛рд░реНрдп рдкреНрд░рд╣рд░реА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:



рдирд╛рдо рдмрджрд▓рдиреЗ:

  • dword_200003F8 - wd_variable ;
  • sub_8001050 - x_update_wd_var

UART рдЯрд╛рд╕реНрдХ


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдбреЗрдЯрд╛ рдФрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ рдЬрд┐рдирдХреЗ рд╡рд┐рднрд┐рдиреНрди рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рд▓рд┐рдВрдХ рд╣реИрдВред рдЙрдирдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдгред

UART рдХрд╛рд░реНрдп рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдЖрдкрдХреЛ рдЪрд░ unk_200003EC рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХ рдЕрдЬреНрдЮрд╛рдд рдХрддрд╛рд░ рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:



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



рдирд╛рдо рдмрджрд▓рдиреЗ:

  • sub_80051EC - x_recvMsg_uart_queue ;
  • unk_200003EC - uart_queue ред

X_recvMsg_uart_queue рдХреЗ рд╕рдВрджрд░реНрдн рджреЗрдЦреЗрдВ:

  • sub_8005250;
  • x_bluetooth_taskред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рдм_8005250 рдлрд╝рдВрдХреНрд╢рди рджреЗрдЦреЗрдВ:



рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рдирд╛рдо рдмрджрд▓реЗрдВ:

  • unk_2000034C - cmd_count ;
  • рдП 1 - рд╕реЗрдореА ;
  • v4 - _cmd ;
  • v6 рдЖрд░рдкреАрдПрд╕ рд╣реИ ;
  • sub_8005250 - x_bluaxy_cmd ред

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

рд╡рд╛рдкрд╕ рдмреНрд▓реВрдЯреВрде рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдмреНрд▓реВрдЯреВрде рдХрд╛рд░реНрдп рдХрд╛ рдЕрдВрддрд┐рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдгред рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВред



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

рдЕрдм рд╕рдм_8006DBC ред рдЖрдЗрдП рдЗрд╕реЗ рджреЗрдЦреЗрдВ (рдЪрд░ рдкрд╣рд▓реЗ рд╣реА рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИ):



рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдпрд╣рд╛рдВ рд╕реНрдЯреНрд░реИрд╕ (рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ) рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рд╕рд╛рд╣рд╕рдкреВрд░реНрд╡рдХ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓ рджреЗрдВрдЧреЗред

рдлрд╝рдВрдХреНрд╢рди x_bluaxy_task рдХреЗ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВ - рд╢рд╛рдпрдж рдкрд┐рдЫрд▓реА рдпрд╛рддреНрд░рд╛ рдХреЗ рдмрд╛рдж рд╕реЗ рдпрд╣рд╛рдВ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдо рдЪрд░ рдирд╛рдо рджреЗрддреЗ рд╣реИрдВ:

  • v2 - _state ;
  • v3 - рдбреЗрдЯрд╛_рд▓реЗрди ред

рдЗрд╕рдХреЗ рдареАрдХ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рд╕рдм_80052E2 рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдмреНрд▓реВрдЯреВрде рдХрдорд╛рдВрдб рд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк, рдпрд╣ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рдВрдмрд╛рдИ рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ - рдЪрд▓реЛ рдЗрд╕реЗ x_get_str рдХрд╣рддреЗ рд╣реИрдВред

рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ:

  • v26 - рдЗрдХреЛ ;
  • v6 - meow_str ;
  • v10 - uart_cmd_byte ;
  • v11 - uart_cmd_str ;
  • v12 - str_0 ;
  • v13 - str_1 ;
  • v14 - format_str ;
  • sub_8000F5C - x_blink_small_led ред

рдПрдХ рддреНрд╡рд░рд┐рдд рдирд╛рдо рдмрджрд▓реЗрдВ:

  • v19 - рдкрд╛рд╕рд╡рд░реНрдб ; (рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреЗ рдЖрдЧреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ)
  • sub_8004CC0 - x_check_password ;
  • sub_8006AF4 - x_free (рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд╛рдж рд╕реЗ, cmd рдФрд░ bt_args рдбрд╛рдпрдиреЗрдорд┐рдХ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╣реИрдВ (рдЗрд╕реЗ рдЪреЗрдХ рдХрд░реЗрдВ!), рдореЗрдореЛрд░реА рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП);
  • sub_8006DAC - x_strcpy (рдЗрд╕реЗ рджреЗрдЦреЗрдВ!)ред

рдЕрдм READ , WRIT , AUTP , SETP рд╢рд╛рдЦрд╛рдУрдВ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВред

рдЪрд▓ рд░рд╣реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд░реВрдк рдореЗрдВ, READ, WRIT, SETP рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реИред AUTP рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдпрд╛рд╕ рд╣рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП x_check_password рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ:



рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рд▓рдВрдмрд╛рдИ 8 рд╡рд░реНрдгреЛрдВ рдХреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб 0x08007C00 рдкрддреЗ рдкрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде (рдЙрдк_8006B08 рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ) рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ - рдЬрд╣рд╛рдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд░реНрдгреЛрдВ рдХреЗ рдЙрддреНрдкрдиреНрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдкрд╛рд╕рд╡рд░реНрдб рдЬрд╛рдирдиреЗ рдХреЗ рдмрд┐рдирд╛, рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЦреИрд░, рдпрд╛ рд▓рдЧрднрдЧ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ ...

рдЙрд╕ рдЬрдЧрд╣ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдЬрд╣рд╛рдВ рдкрд░рдЯрдХ_рдлреНрд▓реИрдЧ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ :



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

рд╕реЗрдВрд╕рд░ рдХрд╛ рдХрд╛рдо


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдЯрдЪ рдмрдЯрди рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ?

рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреВрд░рд╛ рд╕реЗрдВрд╕рд░ рдХрд╛рд░реНрдп рдПрдХ рдЖрдИрдбреАрдП рд╕реНрдХреНрд░реАрди рдореЗрдВ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдЖрдирдиреНрджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:



рд▓рд╛рдЗрди рд╕реЗ рд▓рд╛рдЗрди ...

  • "TSC% d \ r \ n" - рдпрд╣ рд░реЗрдЦрд╛ рдЖрдкрдХреЛ STM32 рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЯрдЪ рд╕реЗрдВрд╕рд┐рдВрдЧ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП;
  • "AUTH BTN \ r \ n" - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдмрдЯрди ???
  • "AUTH% d \ r \ n" рд╕реЗрдЯ рдХрд░реЗрдВ - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдзреНрд╡рдЬ рд╕реЗрдЯ рдХрд░реЗрдВ?

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдЯрдЪ рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ рддреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ (рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкрддрд╛ рдерд╛ рдХрд┐ рдкреИрд░ рдХреЗ рд░рд╛рдЗрдиреЛ рдореЗрдВ рдЯрдЪ рд╣реИ?):



рдЬрдм рдереЛрдбрд╝реА рджреЗрд░ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд▓рд╛рд▓ рдЫреЛрдЯреА рдПрд▓рдИрдбреА рд░реЛрд╢рдиреА рдКрдкрд░ рдЖрддреА рд╣реИред рдПрдХ рд▓рдВрдмреЗ рдкреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрд▓рдИрдбреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд╛рд▓реВ рд░рд╣рддрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рд╣рд╕рдВрдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ sub_8000708 рдлрд╝рдВрдХреНрд╢рди рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдлрд┐рд░, рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдФрд░ рд╕реЗрдВрд╕рд░ рдХреЛ рдЫреВрдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ 1000 (1 рд╕реЗрдХрдВрдб) рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдПрд▓рдИрдбреА 0xEA60 рдорд┐рд▓реАрд╕реЗрдХрдВрдб (1 рдорд┐рдирдЯ) рдХреЗ рд▓рд┐рдП рдЪрд╛рд▓реВ рд╣реЛрддрд╛ рд╣реИ ред рд▓реЗрдХрд┐рди рдСрд░рд┐рдЬрдирд▓_рдлреНрд▓реИрдЧ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдкреА рдХрд╛ рд╣реИ, рдЬреЛ рдЯрдЪ рдмрдЯрди рдкрд░ рдПрдХ рд▓рдВрдмреЗ рдкреНрд░реЗрд╕ рдХреЗ рд╕рд╛рде 1 рдкрд░ рд╕реЗрдЯ рд╣реИ, рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП "рдкреНрд░рдХрд╛рд╢ рд╕реНрдерд┐рд░рддрд╛" рдПрдХреНрд╕реЗрд╕ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

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

рдкрд╛рдЧрд▓ рдкрд▓рдХ


рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдХреНрдпрд╛ рдПрдХ рдЕрдЬреАрдм рдореИрдб рдмреНрд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЛрдб рд╢рд╛рдЦрд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЖрдЗрдП рдмреНрд▓реВрдЯреВрде рдХрд╛рд░реНрдп рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдХреБрдЫ рдФрд░ рдирд╛рдо рдмрджрд▓реЗрдВред

  • v21 - vip_smth (рдпрд╣ рдЕрднреА рддрдХ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реИ);
  • v22 - vip_str (рддрд░реНрдХреЛрдВ рд╕реЗ рдирд┐рдХрд╛рд▓реЗ рдЧрдП рдЕрдЬреНрдЮрд╛рдд рдЖрдХрд╛рд░ рдХреА рд╕реНрдЯреНрд░рд┐рдВрдЧ);
  • v23 - mad_led - "рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ" рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ рдФрд░ рд╕реНрдЯреНрд░рдХреНрдЪрд░_рдИрдбреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред

рдФрд░ рдпрд╣рд╛рдВ рд╣рдо рд╕рдВрдЦреНрдпрд╛ 0xB816D8D9 (рдпрд╣ рдмреНрд▓реВрдЯреВрде рдХрд╛рд░реНрдп рдореЗрдВ рд▓реЗрдЦ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХреЛ рдПрд▓рдИрдбреА рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рд╕рддреНрдпрд╛рдкрди рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдпрд╣ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

 if ( sub_8005520(vip_str, vip_smth) == 0x46F70674 ) 

Sub_8005520 рдХреЛ x_vip_check рдореЗрдВ рдмрджрд▓реЗрдВ рдФрд░ рдЙрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:



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

  • рдП 1 - str ;
  • a2 - рд▓реЗрди ред

рдЖрдЗрдП рдЙрдк_8000254 рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦреЗрдВ:



рдЕрдм рд╕рдм_8000148 рдХреЛ рджреЗрдЦреЗрдВ ред рдпрд╣рд╛рдБ рдЗрд╕рдХреА рд╢реБрд░реБрдЖрдд рд╣реИ:



рдпрд╣ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рддрд┐рд╣рд╛рдИ рд╣реИ ... рдордореНрдо ... рдпрдореНрдореА! рдПрдХ рдЕрдиреБрднрд╡реА рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдпрд╣рд╛рдБ рджреЗрдЦреЗрдЧрд╛ ...

рдХреНрдпрд╛?
рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рдСрдкрд░реЗрд╢рдиред

рдпрд╣ рдХреИрд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдпрджрд┐ рдЖрдк рдПрдХ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рдВрдХреНрд╢рди sub_8000254 рд╕реЗ рдЖрдк x_printf (рдХрдИ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдорддреМрд░ рдкрд░ рд╕рднреА рдорд╛рдирдХ рдХрд╛рд░реНрдп рдХрд╛рдлреА рдорд╛рдирдХ рд╣реЛрддреЗ рд╣реИрдВ ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдЦреЛрдЬреЗ рдЬрд╛ рд░рд╣реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рдЕрдзреНрдпрдпрди рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рд╣реЛред

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

рдПрдХ рд╡реИрдз рд╕рд╡рд╛рд▓ рдЙрда рд╕рдХрддрд╛ рд╣реИ - рдРрд╕рд╛ рдХреНрдпреЛрдВ? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдХреЛрдИ рдбреАрдЖрдИрд╡реА, рдПрдордУрдбреА рд╕рдВрдЪрд╛рд▓рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдмрдЬрд╛рдп рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдХреЙрд▓ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдпрд╣рд╛рдВ рдХреБрдЫ рдЕрдиреНрдп рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдп рд╣реИрдВ ред

рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╕рдордп рдирд╛рдо рдмрджрд▓рдирд╛ рди рднреВрд▓реЗрдВред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдлрд╝рдВрдХреНрд╢рди x_vip_check , рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ ... рдФрд░ рдпрд╣ рдЖрдкрдХрд╛ рд╣реЛрдорд╡рд░реНрдХ рд╣реЛрдЧрд╛ ред

рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдк рд╕рд╣реА VIP рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ "рдбрд┐рд╕реНрдХреЛ рдореЗрдВ рд░рд╛рдЗрдиреЛ" рдорд┐рд▓рддрд╛ рд╣реИ:



рдлрд░реНрдорд╡реЗрдпрд░ рдкрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░рд┐рдкреЛрд░реНрдЯ


рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдлрд░реНрдорд╡реЗрдпрд░ рдлреНрд░реАрдЖрд░рдЯреАрдУрдПрд╕ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рд╣реИрдВ:

  1. рдмреНрд▓реВрдЯреВрде рдХрд╛рд░реНрдп ред рдРрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдЬреЛ рдмреНрд▓реВрдЯреВрде рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддреА рд╣реИрдВред
  2. рдПрд▓рдИрдбреА рдХрд╛рд░реНрдп ред рдмреНрд▓реВрдЯреВрде рдХрдорд╛рдВрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд▓рд░ рдПрд▓рдИрдбреА рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
  3. рд╕реЗрдВрд╕рд░ рдХрд╛ рдХрд╛рдо ред рд▓рд╛рд▓ рдПрд▓рдИрдбреА рдкрд░ рдореБрдбрд╝рддрд╛ рд╣реИ, рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  4. UART рдХрд╛ рдХрд╛рд░реНрдп ред рдЖрдкрдХреЛ рдЖрдВрддрд░рд┐рдХ UART рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд▓реВрдЯреВрде рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдмреНрд▓реВрдЯреВрде рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
  5. рдкрд╣рд░реЗрджрд╛рд░ рдЯрд╛рд╕реНрдХ ред рдлреНрд░реАрдЬ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрддрд╛ рд╣реИред

рдЕрдзреНрдпрдпрди рдореЗрдВ UART рдкреЛрд░реНрдЯ (Tx / GND рд╕рдВрдкрд░реНрдХреЛрдВ) рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рдкрд░рд┐рдгрд╛рдо


рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдПрд▓рдИрдбреА рдирд┐рдпрдВрддреНрд░рдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рднрдВрдЧ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рдмрд╕реЗ рд╕рдХреНрд░рд┐рдп рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ "рдЧреИрдВрдбреЛрдВ" рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

  • рдЖрдИрдбреАрдП рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ;
  • рдлрд░реНрдорд╡реЗрдпрд░ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд;
  • RTOS рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рджреНрдзрд╛рдВрддред

рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЛ рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

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


All Articles