рдбрд┐рдЬрд┐рдЯрд▓ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрднреНрдпрд╛рд╕

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

рдпрд╛рдиреА рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдРрд╕реА рдЕрд╕рдорд╛рдирддрд╛ рд╣рдореЗрдВ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддреА рд╣реИ (рдпрд╣ рддрдХрдиреАрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд░рд╛рдмрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐ рдЖрд╡реГрддреНрддрд┐ рдХреЛ 250 рд╣рд░реНрдЯреНрдЬ рд╕реЗ рдмрдврд╝рд╛рдХрд░ 500 рд╣рд░реНрдЯреНрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рддрдм рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдЬреЛ рдЕрднреА рднреА рдФрд╕рдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдПрдЧреА, рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧреА (STM32F103VE) рдПрдХ рд╕рдВрдкреВрд░реНрдг рдФрд░ рдХреБрд▓ рдКрд░реНрдЬрд╛ рдЦрдкрдд (рдмреИрдЯрд░реА рдкрд╛рд╡рд░) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдгрд╛рд▓реАред рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред

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

рддреЛ, рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░рд╣рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдкрд╛рдареНрдпрдХреНрд░рдо рд╕реЗ рдбрд┐рдЬрд┐рдЯрд▓ рдлрд┐рд▓реНрдЯрд░ (рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЕрднреНрдпрд╛рд╕ рдирд╣реАрдВ рдерд╛) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдореЗрдВ рдХреНрдпрд╛ рдпрд╛рдж рд╣реИ? рдЬрдм рддрдХ рдХрд┐ рд╕рдЬрд╛, рдЬреЗрдб-рдкрд░рд┐рд╡рд░реНрддрди, рдЖрд╡реЗрдЧ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрджрд┐ рдЬреИрд╕реЗ рд╢рдмреНрдж рдирд╣реАрдВ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдЫреЛрд░ рд╕реЗ рднреА рд╕рдореАрдк рдЖрдирд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдЧреБрдгрд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ рдФрд░ рдХреНрдпреЛрдВ, рдбреАрдПрд╕рдкреА рдкрд░ рдкреБрд╕реНрддрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдардиреЗ рдФрд░ рдмреИрдардиреЗ рдХреЗ рд▓рд┐рдП (800 рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИ) рдХреЛрдИ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдФрд░ рддреЗрдЬред

рдЗрд╕рд▓рд┐рдП, рдереЛрдбрд╝рд╛ рд╕рд╛ Google рд╣рдо рдпрд╣рд╛рдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдкрд╛рддреЗ рд╣реИрдВ ред рдпрд╣ рдСрди-рд▓рд╛рдЗрди рдбрд┐рдЬрд┐рдЯрд▓ рдлрд┐рд▓реНрдЯрд░ (рдФрд░ рди рдХреЗрд╡рд▓!) рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдбреЙред рдПрдВрдердиреА рдЬреЗ рдлрд┐рд╢рд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЙрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрдЫрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдЗрдЯ рдкрд░ рджрд░реНрдЬ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рдЪрд┐рдХрдиреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╣реА рд╡рдЬрд╣ рд╣реИ рдХрд┐ рдмрдЯрд░рд╡рд░реНрде рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд╣рд▓рд╛ рдХреНрд░рдо рдЙрдЪреНрдЪ-рдЖрд╡реГрддреНрддрд┐ (рд╣рд╛рдИрдкрд╛рд╕) рд╣реИред рджреВрд╕рд░реА рдмрд╛рдд, рдирдореВрдирд╛ рджрд░, рдЕрд░реНрдерд╛рддреН ADC рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдпрд╛ рдирдореВрдирд╛ рджрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 250Hz рд╣реИред рд╣рдо рдкрд░рд┐рдЪрдп рдХрд░рд╛рддреЗ рд╣реИрдВред рдФрд░ рдЕрдВрдд рдореЗрдВ, рддреАрд╕рд░рд╛, рдХрдЯрдСрдл рдЖрд╡реГрддреНрддрд┐ (-3 рдбреАрдмреА) 50 рд╣рд░реНрдЯреНрдЬ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрдирд▓реЗрдЯ рдлрд┐рд▓реНрдЯрд░ рдпрд╣рд╛рдВ рд╕реЗ рдХрдЯ рдЬрд╛рддрд╛ рд╣реИред рднреЗрдЬреЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:
рдЫрд╡рд┐
рд▓рд╛рд▓ рдЖрдпрд╛рдо рдмрдирд╛рдо рдиреНрдпрдХреНрд╡рд┐рд╕реНрдЯ рдЖрд╡реГрддреНрддрд┐ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рд╣реИ, рдиреАрд▓рд╛ рдПрдХ рдЪрд░рдг рдкрд░рд┐рд╡рд░реНрддрди рд╣реИред 0.5 рдирдореВрдирд╛ рджрд░ рдХреЗ рдЖрдзреЗ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред

рд╣рдореЗрдВ рдЧрдгрдирд╛ рдЧреБрдгрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реА рдХреЛрдб рднреА рдорд┐рд▓рддрд╛ рд╣реИ:
#define NZEROS 1 #define NPOLES 1 #define GAIN 1.726542528e+00 static float xv[NZEROS+1], yv[NPOLES+1]; static void filterloop() { for (;;) { xv[0] = xv[1]; xv[1] = next input value / GAIN; yv[0] = yv[1]; yv[1] = (xv[1] - xv[0]) + ( 0.1583844403 * yv[0]); next output value = yv[1]; } } 

рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рд╣реИ, рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдореЗрдВ рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реАрдзрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 50 рд╣рд░реНрдЯреНрдЬ рд╕реЗ рдЙрдЪреНрдЪрддрд░ рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕ рд░реВрдк рдореЗрдВ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╣рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП, рд╕рд░рд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рджреНрд╡рд╛рд░рд╛, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рд▓рд╛рддреЗ рд╣реИрдВ:
 #define NZEROS 1 #define NPOLES 1 #define GAIN 1.726542528e+00F #define OUR_GAIN 2.1F //  .   float xv[NZEROS+1], yv[NPOLES+1]; int void filterloop( int data ) { xv[0] = xv[1]; xv[1] = (float)data / GAIN; yv[0] = yv[1]; yv[1] = ( xv[1] - xv[0] ) + ( 0.1583844403F * yv[0] ); return (int)(( yv0[1] * OUR_GAIN ) + (float)data ); } 


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

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВ рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рд▓рдЧрднрдЧ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рднрд╛рд░ рдХреЗ рд╕рд╛рде рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдФрд░ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рддрдХрдиреАрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЪрд▓реА рдЧрдИ (рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡реЗ рдмрд╣реБрдд рдХрдордЬреЛрд░ рдирд╣реАрдВ рд╣реИрдВ)ред рдореБрдЭреЗ рдбрд░ рдерд╛ рдХрд┐ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд╛ рд╕реНрддрд░ рдХрд╛рдлреА рдмрдврд╝ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ 4-5 ╬╝V рд╕реЗ рдмрдврд╝рдХрд░ рд▓рдЧрднрдЧ 6-8 ╬╝V рд╣реЛ рдЧрдпрд╛, рдЬреЛ рд╣рдореЗрдВ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдбрд┐рдЬрд┐рдЯрд▓ рдлрд┐рд▓реНрдЯрд░ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдореБрдлреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ - рд╡рд┐рдирдлрд┐рд▓реНрдЯрд░, рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдХреБрд╢рд▓ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ VHDL (рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ C) рдореЗрдВ рдПрдХ рдХреЛрдб рдЬрд╛рд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрднрд╡рддрдГ FPGAs рдХреЗ рдХрд╛рдо рдЖрдПрдЧрд╛ред рдЯреЗрдХреНрд╕рд╛рд╕ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреНрд╕ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рднреА рд╣реИ, рдбрд┐рдЬрд┐рдЯрд▓ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рдЧреБрдгрд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЯреАрдЖрдИрдмреАрдХреНрдпреВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╣ рд╕рдм рд╣реИред рдбрд┐рдЬрд┐рдЯрд▓ рдлрд┐рд▓реНрдЯрд░ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рд╕реМрднрд╛рдЧреНрдпред

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


All Articles