рдЦрд░реЛрдВрдЪ рд╕реЗ рдЗрдВрдЬрди рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдмрдирд╛рдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рдХреИрд╕реЗ рдХрд░реЗрдВ

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


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



рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рд╣рдо рд╢рд╛рдлреНрдЯ рд╕реНрдерд┐рддрд┐ рд╕реЗрдВрд╕рд░ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдЗрд╕ рд╡рд┐рддрд░рдХ рдХреЛ рдереЛрдбрд╝рд╛ рдЫрд╛рдБрдЯрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдВрджрд░ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ:



рдпрджрд┐ рд╣рдо рдереЛрдбрд╝рд╛ рдФрд░ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЖрдВрддрд░рд┐рдХ рдкрд╣рд┐рдпрд╛ рдФрд░ рд╕реЗрдВрд╕рд░ рджреЛрдиреЛрдВ рдХреЛ рд╕реНрд╡рдпрдВ рджреЗрдЦреЗрдВрдЧреЗред



рдпреЗ рджреЛ рдЯрд┐рди рдХреЗ рдкрд╣рд┐рдпреЗ рдПрдХ рд╢рд╛рдлреНрдЯ рдкрд░ рдмреИрдарддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд╕рд╛рде рдШреВрдорддреЗ рд╣реИрдВ - рдФрд░, рд▓реЛ рдФрд░ рдирд┐рд╣рд╛рд░рдирд╛, рд╡реЗ рджреЛ рддрд╛рд░реЛрдВ рд╕реЗ рдЪрд┐рдкрдХреЗ рд╣реБрдП рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕рдВрдХреЗрдд рдмрдирд╛рддреЗ рд╣реИрдВ:



рд╣рдорд╛рд░реА рдХрд┐рд╕реНрдордд рд╡рд╣рд╛рдВ рдЦрддреНрдо рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ: рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░ рдореЗрдВ рдмреИрдЯрд░реА рдЖрдорддреМрд░ рдкрд░ рдмрд╛рд░рд╣-рд╡реЛрд▓реНрдЯ рд╣реИ - рд╕рд┐рдЧреНрдирд▓ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХреНрд╕ рдЖрдорддреМрд░ рдкрд░ рдкрд╛рдВрдЪ рд╡реЛрд▓реНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ! рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдХреЗрдд рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП stm32f4discovery рд╣реИ - рдпрд╣ рдПрдХ рдРрд╕рд╛ рдмреЛрд░реНрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреАрдордд 168 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде 32-рдмрд┐рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рд╣рд╕рдВрд╕рд╛рдзрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рдПрдХ рд╣рдЬрд╛рд░ рд░реВрдмрд▓ рд╕реЗ рдХрдо рд╣реИред



рдпрджрд┐ рдЖрдк ChibiOS / RT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдЪрдорддреНрдХрд╛рд░ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рдпрджрд┐ рдХреЗрд╡рд▓ рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рддреЛ рдРрд╕реЗ рд╕рд░рд▓ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЯреИрдХреЛрдореАрдЯрд░ рдорд┐рд▓реЗрдЧрд╛ред

  рд╡рд╛рд╖реНрдкрд╢реАрд▓ int rpm = 0;
 int lastInputEventTime = -10 * CH_FREQUENCY;

 рд╢реВрдиреНрдп icuWidthCallback (ICUDriver * рдбреНрд░рд╛рдЗрд╡рд░) {
     int рдЕрдм = chTimeNow ();
     int diff = now - lastInputEventTime;
     rpm = 60000 * TICKS_IN_MS * 2/4 / diff;
     lastInputEventTime = рдЕрдм;
 }

 ICUConfig wave_icucfg = {ICU_INPUT_ACTIVE_LOW, 100000, icuWidthCallback, NULL};

 int main (рд╢реВрдиреНрдп) {
     halInit ();
     chSysInit ();

     // рдпрд╣ рдзрд╛рдЧрд╛ рдПрдХ рдПрд▓рдИрдбреА рдХреЛ рдЭрдкрдХрд╛рдПрдЧрд╛, рдЬреЛ рд╢рд╛рдВрдд рджрд┐рдЦреЗрдЧреА
     chThdCreateStatic (рдмреНрд▓рд┐рдВрдХрдЯрд╣реНрд░реЗрдбрд╕реНрдЯреИрдХ, рд╕рд╛рдЗрдЬрд╝реЛрдлрд╝ (рдмреНрд▓рд┐рдВрдХрдереНрд░реЗрдбрд╕реНрдЯреИрдХ), NORMALPRIO, рдмреНрд▓рд┐рдВрдХрдереНрд░реЗрдб, NULL);

     // рд╕реАрд░рд┐рдпрд▓-рдУрд╡рд░-рдпреВрдПрд╕рдмреА рдЖрд░рдВрднреАрдХрд░рдг
     usb_serial_start ();

     // рдЗрдирдкреБрдЯ рд╕рд┐рдЧреНрдирд▓ рдкрд┐рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
     palSetPadMode (CRANK_INPUT_PORT, CRANK_INPUT_PIN, PAL_MODE_ALTERNATE (GPIO_AF_TIM2));

     // рдЗрдирдкреБрдЯ рдХреИрдкреНрдЪрд░ рд╢реБрд░реВ рдХрд░реЗрдВ - рд╣рдо рдЗрдирдкреБрдЯ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВрдЧреЗ рдФрд░ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░ RPM рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗ
     icuStart (& CRANK_DRIVER, рдФрд░ wave_icucfg);
     icuEnable (& CRANK_DRIVER);

     рдЬрдмрдХрд┐ (рдЯреНрд░реВ) {
         // RPM рдорд╛рди рдЗрдирдкреБрдЯ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
         chprintf (& SDU1, "rpm:% d \ r \ n", rpm);
         chThdSleep (100);
     }

     рд╡рд╛рдкрд╕реА 0;
 } 




рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдХрд╛рдлреА рд╕рд░рд▓ред рд▓реЗрдХрд┐рди, рд╕рднреА рдПрдХ рд╣реА, рдпрд╣ рд╕реЗрдВрд╕рд░ рд╕реЗ рдХреБрдЫ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреАрдЬ рд╣реИ, рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдФрд░ рдЪреАрдЬ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рд╕рдВрдХреЗрдд рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реИред
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдирд▓рд┐рдХрд╛ рдХреЛ рдХреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

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

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЯреЗрдмрд▓ рдкрд░ рд░рдЦ рджреЗрддреЗ рд╣реИрдВред



рдХреНрдпрд╛ рд╣рдорд╛рд░реА рдХрд╛рд░ рдХреА рдмреИрдЯрд░реА рдореЗрдВ 12 рд╡реЛрд▓реНрдЯ рд╣реИ? рдФрд░ рдкреБрд░рд╛рдиреА ATX рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рднреА 12 рд╡реЛрд▓реНрдЯ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдХреЛ рдмрд┐рдЬрд▓реА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред



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



рдФрд░ рд╕рдВрдХреЗрдд рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЛрдбред

  рд╕реНрдерд┐рд░ PWMConfig pwmcfg_slow = {10000, 1000, NULL, {{
 PWM_OUTPUT_DISABLED, NULL}, {PWM_OUTPUT_ACTIVE_LOW, NULL}, {
 PWM_OUTPUT_DISABLED, NULL}, {PWM_OUTPUT_DISABLED, NULL}},
 / * HW рдЖрд╢реНрд░рд┐рдд рднрд╛рдЧред * /
 0};

 int main (рд╢реВрдиреНрдп) {
     halInit ();
     chSysInit ();

     // рдпрд╣ рдзрд╛рдЧрд╛ рдПрдХ рдПрд▓рдИрдбреА рдХреЛ рдЭрдкрдХрд╛рдПрдЧрд╛, рдЬреЛ рд╢рд╛рдВрдд рджрд┐рдЦреЗрдЧреА
     chThdCreateStatic (рдмреНрд▓рд┐рдВрдХрдЯрд╣реНрд░реЗрдбрд╕реНрдЯреИрдХ, рд╕рд╛рдЗрдЬрд╝реЛрдлрд╝ (рдмреНрд▓рд┐рдВрдХрдереНрд░реЗрдбрд╕реНрдЯреИрдХ), NORMALPRIO, рдмреНрд▓рд┐рдВрдХрдереНрд░реЗрдб, NULL);

     // рд╕реАрд░рд┐рдпрд▓-рдУрд╡рд░-рдпреВрдПрд╕рдмреА рдЖрд░рдВрднреАрдХрд░рдг
     usb_serial_start ();

     pwmStart (PWM_SLOW, & pwmcfg_slow);
     palSetPadMode (GPIOB, 7, PAL_MODE_ALTERNATE (2));
     pwmEnableChannel (PWM_SLOW, 1, 600);

     рдЬрдмрдХрд┐ (рдЯреНрд░реВ)
         chThdSleep (100);

     рд╡рд╛рдкрд╕реА 0;
 } 



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



рдпрд╣ рд╕рдм рдЗрдХрдЯреНрдард╛ рдХрд░реЛ рдФрд░ рднрд╛рдЧреЛред рдФрд░, рдлрд┐рд░ рд╕реЗ, рдПрдХ рдЪрдорддреНрдХрд╛рд░! рдорд╛рдирдХ рдирд┐рдпрдВрддреНрд░рдг рдЗрдХрд╛рдИ рдиреЗ рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд┐рдпрд╛, рдФрд░ рд╕рд┐рд░реНрдл рдПрдХ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рд╕реЗрдВрд╕рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд - рдХреИрдорд╢рд╛рдлреНрдЯ рд╕реНрдерд┐рддрд┐ рд╕реЗрдВрд╕рд░ - рдиреЛрдЬрд▓ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛!



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

www.youtube.com/watch?v=GcxLY697WwM


рдЕрджреНрдпрддрди: рдЪреВрдВрдХрд┐ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕рд╡рд╛рд▓ рдЙрдареЗ рдФрд░ рдЪреВрдВрдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдВрдХ рджреЗ рджрд┐рдпрд╛ рд╣реИ - рдореИрдВ рдпрд╣рд╛рдВ рднреА рдЬреЛрдбрд╝реВрдВрдЧрд╛:
rusefi.com
rusefi.com/forum
sourceforge.net/projects/rusefi

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


All Articles