рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд╛рдВрдЪ рд╕рд╛рд▓

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП C рд╕реЗ C ++ рддрдХ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рдиреЗ рд╕реЗ рд▓реЗрдХрд░ рдкрд╛рдВрдЪ рд╕рд╛рд▓ рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рд╣реБрдЖ (рд╕реНрдкреЙрдЗрд▓рд░: рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рд╣реИ)ред

рдереЛрдбрд╝рд╛ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ


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

рдкреНрд░рдердо рд╡рд░реНрд╖


рдореЗрд░реЗ рдкрд╛рд╕ рд╕реА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╢реИрд▓реА рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреБрдЫ рднреА рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЕрдкрдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрднреНрдпрд╛рд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрджреНрдпрдо рдиреЗ "рд╕реА-рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рдПрдХ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рд╢реИрд▓реА рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред" рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦ рд░рд╣рд╛ рдерд╛ред

typedef const struct _uart_init { USART_TypeDef *USARTx; uint32_t baudrate; ... } uart_cfg_t; int uart_init (uart_cfg_t *cfg); int uart_start_tx (int fd, void *d, uint16_t l); int uart_tx (int fd, void *d, uint16_t l, uint32_t timeout); 

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдпрджреЗ рдереЗ:

  1. рдХреЛрдб рд╕реА рдХреЛрдб рд╣реЛрдирд╛ рдЬрд╛рд░реА рд░рд╣рд╛ред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд╛рдн рдЗрд╕ рд╕реЗ рдЖрддреЗ рд╣реИрдВ:
    • "рд╡рд╕реНрддреБрдУрдВ" рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдХреМрди рдФрд░ рдХрд╣рд╛рдВ рдХрд┐рд╕ рдХрд╛рд░рдг рд╕реЗ рдФрд░ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ (рд░реБрдХрд╛рд╡рдЯ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдирд╣реАрдВ);
    • "рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░" рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд▓реМрдЯреА рд╣реБрдИ рдПрдлрдбреА рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ;
    • рдпрджрд┐ "рдСрдмреНрдЬреЗрдХреНрдЯ" рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЬрдм рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рдореЗрдВ рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА;
  2. HAL рдХреЗ рдКрдкрд░ рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЕрдореВрд░реНрдд рдЙрдкрдпреЛрдЧ рдиреЗ рд╡рд╣рд╛рдБ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдЖрд░рдВрднреАрдХрд░рдг рд╕рдВрд░рдЪрдирд╛ (рдФрд░ рдПрдЪрдПрдПрд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдХрдореА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИ, рдПрдХ "рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕") рдХреЗ рдЕрдВрджрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдЫрд┐рдкрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдкрдХреНрд╖:

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

рдпрд╣ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рдкрд░ рдХрд┐ рд╕рдВрдкреВрд░реНрдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп C ++ рдХрд╛ рдЪрдпрди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЙрддреНрддрд░ рджрд┐рдпрд╛: "рдареАрдХ рд╣реИ, C ++ рдордЬрдмреВрдд рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЧрдд, рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдореЗрдореЛрд░реА рд▓рд╛рдЧрдд, рд╕рд╛рде рд╣реА рдПрдХ рднрд╛рд░реА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд░реНрдорд╡реЗрдпрд░ рдлрд╝рд╛рдЗрд▓ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред" рд╢рд╛рдпрдж рд╡реЗ рд╕рд╣реА рдереЗред рджрд░рдЕрд╕рд▓, рдбрд┐рдЬрд╛рдЗрдирд┐рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рдордп, рдХреЗрд╡рд▓ GCC 3.0.5 рдерд╛, рдЬреЛ C ++ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдорд┐рддреНрд░рддрд╛ рдХреЗ рд╕рд╛рде рдЪрдордХ рдирд╣реАрдВ рдерд╛ (рд╣рдореЗрдВ рдЕрднреА рднреА QNX6 рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ)ред рдХреЛрдИ рдмрд╛рдзрд╛ рдирд╣реАрдВ рдереА рдФрд░ C ++ 11/14, рдЖрдкрдХреЛ рд╡реИрд╢реНрд╡рд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ .data рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдереЗ, рдЙрдирдХреА рдЧрдгрдирд╛ рдЪрд░рдг рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереАред

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

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

рд╡рд░реНрд╖ рджреЛ рдФрд░ рддреАрди


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

рдЪреМрдерд╛ рдФрд░ рдкрд╛рдВрдЪрд╡рд╛рдВ рд╡рд░реНрд╖


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

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


рдЕрдм рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ:
  1. "рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдореЙрдбреНрдпреВрд▓ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░рдирд╛, рдФрд░ рдлрд┐рд░ рдПрдЪрдПрдПрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рднреА;
  2. рдбрд░ рдХреЗ рд▓рд┐рдП C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдбрд░реЛ рдордд рдХрд┐ рдпрд╣ "рдмрд╣реБрдд рдореЗрдореЛрд░реА рдХреЛ рдЧрдмреНрдмрд▓ рдХрд░реЗрдЧрд╛" рдпрд╛ "рд╕реА рд╕реЗ рдХрдо рдЕрдиреБрдХреВрд▓рд┐рдд" рд╣реЛред рдирд╣реАрдВ, рдпрд╣ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рдбрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдЕрдореВрд░реНрдд рдХреА рдХрдИ рдкрд░рддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдб рдЕрдкреНрд░рд╛рдкреНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдпрд╣ рдПрдХ рд╡реАрд░рддрд╛рдкреВрд░реНрдг рдЙрдкрд▓рдмреНрдзрд┐ рд╣реЛрдЧреА;
  3. рдпрджрд┐ рдЖрдк C ++ рдХреА рдХреБрдЫ "рдЬрдЯрд┐рд▓" рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ, рд╡рд┐рд░рд╛рд╕рдд рдФрд░ рдЕрдиреНрдп рдЖрдХрд░реНрд╖рдХ рдЖрдХрд░реНрд╖рдг, рддреЛ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ? рд╕рд┐рд░реНрдл рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП? рдХреНрдпрд╛ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ? рдФрд░ рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдирд┐рд╖рд┐рджреНрдз рдирдП / рд╣рдЯрд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдерд┐рд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреА рдЦрд╛рддрд┐рд░?

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕реНрдкрд╖реНрдЯ рд╕рд╛рджрдЧреА рдЧрддрд┐ рдпрд╛ рд╕реНрдореГрддрд┐ рдореЗрдВ рдХрд┐рд╕реА рднреА рд▓рд╛рдн рдХреЗ рдмрд┐рдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдмрд╣рд╛рдирд╛ рдмрди рдЧрдИред

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


All Articles