рд╕реА рдореЗрдВ рдмрд╛рд╣рд░реА рдбрд┐рд╡рд╛рдЗрд╕ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рднрд╛рдЧ 3

рд╕рдм рдареАрдХ рд╣реИ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ


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

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

#pragma bitfields=reversed typedef struct { unsigned :1; unsigned int code:3; unsigned :26; const unsigned flag1:1; unsigned flag:1; } tIO_STATUS; typedef struct { unsigned :1; unsigned int start:1; unsigned :30; } tIO_STATUSA; #pragma bitfields=default typedef union { tIO_STATUS; tIO_STATUSA; } tIO_STATUS2; #define IO_ADR 0x20000004 volatile tIO_STATUS2 * const pio_device = (tIO_STATUS2 *) (IO_ADR); pio_device->code = 3; while (pio_device->flag) {}; pio_device->start=1;
      
      



, рд▓реЗрдХрд┐рди рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдирд╛ рдХреБрдЫ рд╣рдж рддрдХ рдмреЗрдорд╛рдиреА рд╣реИ (рдореЗрд░реА рд░рд╛рдп рдореЗрдВ)ред

рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╕рднреА рдПрдХ рд╣реА рдмрд┐рдЯ рдорд╛рд╕реНрдХ рд╣реИрдВ, рдФрд░ рд╣рдо рдЯрд╛рдЗрдк рдХреЗ costructures рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВ:
 #define BITNUM 2 //      0 #define BITMASK (1<<BITNUM) pio_device->code |= (1<< BITNUM); //   pio_device->code &= ~BITMASK;; //  
      
      



рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рдВрдХрд▓рдХ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдп рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рд╕реНрдерд┐рд░ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмрд┐рдЯ рдирдВрдмрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рдореБрдЦреМрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдмрд┐рдЯ рдорд╛рд╕реНрдХ (0x40000000) рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбрд╛рдпрд▓ рдХрд░рдиреЗ рдореЗрдВ рдЧрд▓рддреА рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЕрднреА рднреА рдЗрд╕реЗ рдЕрдкрдиреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рд░рдЦрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ (рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕реНрд╡рд╛рдж рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ)ред рдФрд░ рдЕрдм рдПрдХ рдмрд╣реБрдд рдЧрдВрднреАрд░ рдЯрд┐рдкреНрдкрдгреА - рдПрдореНрдмреЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рднреА рд▓реЗрдЦрдХреЛрдВ (рд╕реНрд╡рдпрдВ рд╕рд╣рд┐рдд) рджреГрдврд╝рддрд╛ рд╕реЗ рдкрд╛рда рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд┐рдЯ рдлрд╝реАрд▓реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
 #define SETBIT(DEST,MASK) (DEST) |= (MASK) #define CLRBIT(DEST,MASK) (DEST) &= ~(MASK)
      
      



рдХреЗрд╡рд▓ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВред
  SETBIT(pio_device->code,1 << BITNUM); CLRBIT(pio_device->code,BITMASK);
      
      



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



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



рдЕрдм рд╣рдо рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, VU рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖реЗрддреНрд░ рдорд╛рди рд╣реИ рдФрд░ рдПрдХ рдЕрдЪреНрдЫреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реИрд▓реА рд╣реИ рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рд╕рд╛рд░реНрдердХ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдФрд░ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╕рдордп рдореВрд▓реНрдп рдХреА рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ (рдЕрдм рддрдХ рдореИрдВрдиреЗ рдЬрд╛рджреВ рдирдВрдмрд░ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣реИред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдЙрджреНрджреЗрд╢реНрдп)ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реА рднрд╛рд╖рд╛ рдХреНрдпрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ? рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рд╣реИрдВ - #define рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдФрд░ рдкреНрд░рдЧрдгрд┐рдд рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдирд╛ред рд╣рдо рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░рд╛ рдЙрдкрдХрд░рдг рдХреЗрд╡рд▓ 2 рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ - рдХреЛрдб 3 рдХреЗ рд╕рд╛рде "рдХрд╛рдо рд╢реБрд░реВ рдХрд░реЗрдВ" рдФрд░ рдХреЛрдб 2 рдХреЗ рд╕рд╛рде "рдХрд╛рдо рд░реЛрдХреЗрдВ" рддрдм рд╣рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
 #define IO_DEVICE_START 3 #define IO_DEVICE_STOP 2 pio_device->code=IO_DEVICE_START;
      
      



, рдЬреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдЬрд╛рджреВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдмрд┐рдЯ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рдВрдЪ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
  pio_device->code=1;
      
      



рд╕рдВрдХрд▓рдХ рдорд╛рдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рдЕрд░реНрдерд╛рддреН, рд╕реНрд╡реАрдХрд╛рд░реНрдпрддрд╛ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдХрдВрдзреЛрдВ рдкрд░ рдкрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ ASSERT рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдзрд┐ рдХрд╛рдлреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ, рд╣рдо рдЕрдХреНрд╕рд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдЕрдЧрд░ рдпрд╣ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рдерд╛, рдЕрд░реНрдерд╛рддреН рдПрдХ рдПрдиреНрдпреВрдорд░реЗрдЯреЗрдб рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ:
 #pragma bitfields=reversed typedef struct { unsigned :1; enum { O_DEVICE_START=3, IO_DEVICE_STOP=2, } code:3; unsigned :26; const unsigned flag1:1; unsigned flag:1; } tIO_STATUS; #pragma bitfields=default pio_device->code=IO_DEVICE_START; SETBIT(pio_device->code,BITMASK); pio_device->code |= BITMASK; pio_device->code=pio_device | BITMASK;
      
      



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



рдЦреИрд░, рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд░реИрдкрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ред рдЕрдХреНрд╕рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдкрд░ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдорд┐рд▓реЗрдЧрд╛:
 dev_data_r_w (int n, int data_command, int r_w, int *adr) { ... }; int dev_data(int n, int data_comand, iint *adr) { return dev_data_r_w (n, 1, 1, int *adr); int read_dev(int n, int *adr) { return dev_data(n,1,adr); }; int ch_read_dev( int *adr) { return read_dev(1,adr); };
      
      



, рдФрд░ рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдиреНрдп рд╕рднреА рдЗрд╕рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрдерд┐рд░ рдкреИрд░рд╛рдореАрдЯрд░ рди рд▓рд┐рдЦреЗрдВред C ++ рдореЗрдВ (рдФрд░ рдХрдИ рдЕрдиреНрдп рдореЗрдВ), рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди C рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдореЗрд░реА рдирд┐рдЬреА рд░рд╛рдп рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░рдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ (рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди) рд╕рдорд╛рдирд╛рд░реНрдердХ рд╢рдмреНрдж рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
 #define dev_data(N,DC,ADR) dev_data_r_w ((N),(DC),1,(ADR)) #define read_dev(N,ADR) dev_data((N),1,(ADR)) #define ch_read_dev(ADR) read_dev(1,(ADR))
      
      



рдРрд╕реА рдкрд░рд┐рднрд╛рд╖рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХреЛрдб рдЖрдХрд╛рд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдордп рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореЗрдореЛрд░реА рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЬреАрддрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд▓реНрдЯреА-рд▓рд┐рдВрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрдВрдЯрд░рдкреНрдЯ рд░реВрдЯреАрди рдореЗрдВ рд╕реНрдкрд░реНрд╢ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рдПрдХ рдФрд░ рдЕрд╡рд▓реЛрдХрди - рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ (рдпрджрд┐ рдкрд╛рдардХреЛрдВ рдХреЗ рдмреАрдЪ рдРрд╕реЗ рд╣реИрдВ, рддреЛ рдХреНрдпреЛрдВ рд▓рд┐рдЦреЗрдВ) рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛
 enum { SET=1, RESET=0 } ACTIVE;
      
      



- рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИред рдореИрдВ рдЕрднреА рднреА рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдорд╛рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХреЛ рдХрдм рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП? рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреВрд▓ рдкреНрд░рдХрд╛рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ, рдпрд╣ рдЕрдиреНрдп рд░рд╛рдп рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред



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



All Articles