рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди
рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдкрд░ рдПрдХ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдореИрдВ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдЬрд╣рд╛рдВ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдирд┐рд░рдВрддрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдПрдХ рдЯрд╛рдЗрдо рд╕реНрдЯрд╛рдВрдк рдФрд░ рдЫрд╣ рдПрдбреАрд╕реА рдорд╛рдк рд╕реЗ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 100 рдЧреБрдирд╛ рдПрд╕рдбреА рдХрд╛рд░реНрдб (рдЪрд▓реЛ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдкреИрдХреЗрдЯ рд╕реЗрдЯ рдХрд╣рддреЗ рд╣реИрдВ) рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд░рдирд╛ рдерд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред рдпрд╣ рдПрдХ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рднреА рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдЙрдиреНрд╣реЗрдВ UART рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ред рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрдо рд╕реНрдерд╛рди рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдХрд┐рд╕реА рддрд░рд╣ рдЗрди рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдПрдХ рд╕рддрдд рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рднреА рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдФрд░ рдлрд┐рд░ рд╡рд╣ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ - рдкреИрдХреЗрдЯ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (PSP1N)
рдХреБрдЫ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдореЗрдВ, рдбреЗрдЯрд╛ рдХреЛ рдПрди рдмрд╛рдЗрдЯреНрд╕ рд╡рд╛рд▓реЗ рдкреИрдХреЗрдЯреЛрдВ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд┐рдЯ рдкреИрдХреЗрдЯ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди (рдЗрд╕рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд╛рдо) рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯ рдмрд┐рдЯ рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╢реЗрд╖ рд╕рд╛рдд рдмрд┐рдЯреНрд╕ рдбреЗрдЯрд╛ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрдХреНрд░рдо рдФрд░ рдЖрдХрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг:
рд╣рдо рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рд▓рд┐рдП 32 рдмрд┐рдЯреНрд╕, рдПрдбреАрд╕реА рдорд╛рдк рдХреЗ рд▓рд┐рдП 60 рдмрд┐рдЯреНрд╕ (10 рдмрд┐рдЯреНрд╕ рдХреЗ 6 рдЪреИрдирд▓) рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреБрд▓ 92 рдмрд┐рдЯреНрд╕ред рдЪреВрдВрдХрд┐ рдЖрдк рдПрдХ рдмрд╛рдЗрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдбреЗрдЯрд╛ рдХреЗ 7 рдмрд┐рдЯреНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреИрдХреЗрдЯ рдореЗрдВ 14 рдмрд╛рдЗрдЯреНрд╕ (92 рдмрд┐рдЯреНрд╕ / 7 рдмрд┐рдЯ = 13.14 ... 14 рддрдХ рд░рд╛рдЙрдВрдб) рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред 14 рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ 112 рдмрд┐рдЯреНрд╕ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ 14 рдмрд┐рдЯреНрд╕ рдкрд░ 92 рдмрд┐рдЯреНрд╕ рдЙрдкрдпреЛрдЧреА рдбреЗрдЯрд╛ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрддреА рд╣реИ, 6 рдЕрдкреНрд░рдпреБрдХреНрдд рдмрд┐рдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ (рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХреБрдЫ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ)ред

рдЬрд╣рд╛рдВ 7 рдмрд┐рдЯ рдмрд┐рдЯ рд╕реНрдЯрд╛рд░реНрдЯ рдмрд┐рдЯ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИ (рдкреИрдХреЗрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ), 6,5,4,3,2,1,0 рдбреЗрдЯрд╛ рдмрд┐рдЯ рд╣реИрдВред
рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкрдХреНрд╖ рдпрд╣ рднреА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ 14 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рдЗрдЯ рдХрд╛ рдкрд╣рд▓рд╛ рдмрд┐рдЯ рд╕реНрдЯрд╛рд░реНрдЯ рдмрд┐рдЯ (1) рд╣реЛрддрд╛ рд╣реИ (рд╢реЗрд╖ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ, рд╕реНрдЯрд╛рд░реНрдЯ рдмрд┐рдЯреНрд╕ 0 рд╣реЛрддреЗ рд╣реИрдВ), рдлрд┐рд░ рдбреЗрдЯрд╛ рдмрд┐рдЯреНрд╕ рдореЗрдВ 32 рдмрд╛рд░ рдЯрд╛рдЗрдо рд╕реНрдЯреИрдореНрдк рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ ADC рдорд╛рдк рд╕рдВрдЦреНрдпрд╛ 10 рдмрд┐рдЯреНрд╕ред 1, рддреЛ ADC # 2 рдХреЗ 10 рдмрд┐рдЯ рдФрд░ рдЗрддрдиреЗ рдкрд░ ...
рдЗрд╕реА рддрд░рд╣, рдПрд╕рдбреА рдХрд╛рд░реНрдб рдкрд░ рд▓рд┐рдЦрдирд╛ рдФрд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЙрд╕рдореЗрдВ рд╕реЗ рдкрдврд╝рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдПрдХ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдкрд░ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ 115.4 рдПрдордмреА рдЬрд╛рдирдХрд╛рд░реА (14 рдмрд╛рдЗрдЯреНрд╕ x 100 рдорд╛рдк рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб x 3600 рд╕реЗрдХрдВрдб x 24 рдШрдВрдЯреЗ) рдорд┐рд▓рддреА рд╣реИред
рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЕрднреА рднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЧреНрд░рд╛рдлрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реИрдо рдореЗрдВ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ рдХрдИ рджрд╕рд┐рдпреЛрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ)ред рдФрд░ рд╣рдо рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдХреЗ рдЗрди рдЧреНрд░рд╛рдлрд╝реЛрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ
рд╣рдо C ++ рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ:
class PSP { public: void init(byte startBit, byte* arrayByte, byte sizeArrayByte); void pushData(byte sizeBit, uint32_t value); byte* popData(); protected: byte startBit;
рдЖрд░рдВрднреАрдХрд░рдг рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ:
void PSP::init(byte startBit, byte* arrayByte, byte sizeArrayByte) { this->startBit = startBit; this->arrayByte = arrayByte; this->sizeArrayByte = sizeArrayByte; }
рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдпрд╣рд╛рдВ, рдЪрд╛рд▓рд╛рдХ рдмрд┐рдЯрдХреЙрдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝ рджреНрд╡рд╛рд░рд╛, рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВред
void PSP::pushData(byte sizeBit, uint32_t value) { byte free; byte y; int remBit = 0;
рдПрдХ рдкреИрдХреЗрдЯ рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐:
byte* PSP::popData() { position = 0;
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ:
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛
рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдбреЗрдЯрд╛ PSP1N рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЙрдореНрдкреИрдХреНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рддреИрдпрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛ рдХрд┐ GitHub рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, "рдЬрдиреНрдо" рдереЗ ред рдЗрд╕ рднрдВрдбрд╛рд░ рдореЗрдВ рдЖрдкрдХреЛ рдорд┐рд▓реЗрдЧрд╛:
- ExampleColsolePSP1N / C # рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг
- PSP1N_CPP / рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PSP рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ Arduino рдкрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ
- .NET1N_CSHARP / .NET рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк Arduino рдореЗрдВ рд╕реНрдХреЗрдЪ рдХреЛ рдлреНрд▓реИрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ ExampleSerialPortRead рдЙрджрд╛рд╣рд░рдг рдореЗрдВ COM рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣рд╛рдВ, рдЗрди рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рджреВрд╕рд░реА рдмрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдкрдХреНрд╖ рдХреЗ рд▓рд┐рдП C # рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
TestingConsole:

рдЕрджреНрдпрддрди (03/31/19): рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдФрд░ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛