рдкреЗрд╢ рд╣реИ рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдк рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЯреАрд╕реАрдкреА рд╕реНрдЯреИрдХ

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ рдИрдерд░рдиреЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрд╛рдлреА рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрди рд╕рднреА рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ 3 рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


тАв RS-232-рдИрдерд░рдиреЗрдЯ рдХрдирд╡рд░реНрдЯрд░, рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ COM рдкреЛрд░реНрдЯ, рдПрдХ рдЫреЛрд░ рдкрд░ RS-232 рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЛ IP рдкреИрдХреЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрди рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде, рдФрд░ RS-232 рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рдЫреЛрд░ рдкрд░ред рдРрд╕реЗ рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг: рдЯрд┐рдмреНрдмреЛ рдИрдПрдо 100ред рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдлрд╛рдпрджреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╣реИрдВред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдореЗрдВ рдмрд╣рдХрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдХрдиреЗрдХреНрдЯреЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рд╕реАрдзреЗ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рд╕реЗ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗред рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХрдорд┐рдпрд╛рдВ рднреА рд╣реИрдВ - рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЬреИрд╕реЗ рдПрд╕рдПрдирдПрдордкреА, рдПрдЪрдЯреАрдЯреАрдкреА рдФрд░ рдЕрдиреНрдп, рдЕрд░реНрдерд╛рддреНред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, WEB- рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рднреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Tibbo

тАв рдХреБрдЫ рдЙрдиреНрдирдд рдЙрдкрдХрд░рдг, рдПрдХ "рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕", рдЬрд┐рд╕рдореЗрдВ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░, рдореЗрдореЛрд░реА, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреИрдХ рд╣реЛрддрд╛ рд╣реИ, рдИрдерд░рдиреЗрдЯ рдкреИрдХреЗрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрд╛ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реЗ RS-232 рдпрд╛ SPI рднреЗрдЬрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рдЙрджрд╛рд╣рд░рдг: рд▓реИрдВрдЯреНрд░реЛрдирд┐рдХреНрд╕ рдПрдХреНрд╕рдкреАрдУрд░реНрдЯ, рдЬреЛ рдХрд┐ рдЖрд░рдЬреА -45 рдХрдиреЗрдХреНрдЯрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрдбрд╝рд╛ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реНрдг рдЕрд▓реНрдЯреНрд░рд╛-рдХреЙрдореНрдкреИрдХреНрдЯ рдПрдореНрдмреЗрдбреЗрдб рд╕рд░реНрд╡рд░ рд╣реИ:
Lantronix

WIZNET W5100 рдЪрд┐рдк, рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ Arduino рдИрдерд░рдиреЗрдЯ рд╢реАрд▓реНрдб:

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

тАв рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдХрдВрдЯреНрд░реЛрд▓рд░ (PHY) рдХреЛ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рд░рдЦреЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рдорд╛рдирдХ 10 рдмреЗрд╕-рдЯреА рдХрд╛ рдПрдХ ENC28J60 рдЪрд┐рдк, рдпрд╛ рдЙрд╕реА рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдк рдХрдВрдкрдиреА рд╕реЗ рдорд╛рдирдХ 10/100 рдмреЗрд╕-рдЯреА рдХрд╛ рдПрдХ ENC624J600 рдЪрд┐рдкред рдПрдХреАрдХреГрдд PHY рдХреЗ рд╕рд╛рде PIC18FXXJXX рдкрд░рд┐рд╡рд╛рд░ рдирд┐рдпрдВрддреНрд░рдХ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреИрдХ рдХреЛ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдмрд╣реБрдд рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдирд╣реАрдВ), рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдореБрдлреНрдд рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдбрд┐рдЧреНрд░реА рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдЯреАрд╕реАрдкреА рд╕реНрдЯреИрдХ рдХрд╛ рдХрд╛рдлреА рдмрдбрд╝рд╛ рдЪрдпрди рд╣реИ)ред рдпрд╣ рдЖрд▓реЗрдЦ рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдк рдЯреАрд╕реАрдкреА рд╕реНрдЯреИрдХ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕реЗ рдЗрд╕ рдХрдВрдкрдиреА рдХреЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рддреЛ, рд░рд╛рд╕реНрддрд╛ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╕рд╛рдзрдиреЛрдВ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХрд╛ рд╕рдордпред

рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:



тАв рдЗрди рд╕реНрдЯрд╛рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХред рдпрджрд┐ рд╣рдо рдмрд╛рд╣рд░реА PHY рдЪрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА MK рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдк, PIC18 (8bit), PIC24 (16bit) рдФрд░ PIC32 (32bit) рдХреЗ рдкрд░рд┐рд╡рд╛рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдмрд╛рд╣рд░реА PHY рдХреЗ рдмрд┐рдирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо PIC18F67J60 рдкрд░рд┐рд╡рд╛рд░ рд╕реЗ рдХреБрдЫ рд▓реЗрддреЗ рд╣реИрдВред

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

тАв рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдгред рдирд┐: рд╢реБрд▓реНрдХ MPLab 8 (рдереЛрдбрд╝реЗ рдкреБрд░рд╛рдиреЗ, рд▓реЗрдХрд┐рди рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╕рд┐рджреНрдз), рдпрд╛ MPLab-X (рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдмреАрдЯрд╛ рд╕реНрдЯреЗрдЬ рд╕реЗ рдЬрд╛рд░реА, рдиреЗрдЯрдмреАрдиреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд, рдПрдХ рдЖрд╢рд╛рдЬрдирдХ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдмрд╣реБрдд рд╕реНрдерд┐рд░ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдирд╣реАрдВ)ред

тАв рд╕рдВрдХрд▓рдХред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд C18, C30 рдФрд░ C32 рд╣реИрдВред рд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ 60-рджрд┐рд╡рд╕реАрдп рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред 60 рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж, рдореВрд▓реНрдпрд╛рдВрдХрди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреБрдХреВрд▓рди рдореЛрдб рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреЛрдб рдХреЛ ROM рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

тАв рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ / рдпрд╛ рд╕рд░реНрдХрд┐рдЯ рдбрд┐рдмрдЧрд░ред рдореИрдВ ICD3 рдпрд╛ PICKIT3 рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ (ICD2 рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Mplab-X рд╡рд╛рддрд╛рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдзреАрдореА рд╣реИ)ред

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



рдСрд▓рд┐рдореЗрдХреНрд╕ (ENC28J60-H) рдФрд░ рдЯреНрд░рд╛рдЗрдЯрди (TRT- рдИрдерд░рдиреЗрдЯ) рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред

рдпрджрд┐ рд╣рдордиреЗ рддреБрд░рдВрдд рдЕрдкрдирд╛ рд╢реБрд▓реНрдХ рддрдп рдХрд┐рдпрд╛:



рдПрдХреАрдХреГрдд PHY (PIC18F87J60) рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ


рдпрд╛ рдмрд╛рд╣рд░реА PHY (ENC28J60) рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ SPI рдмрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ENC28J60):

рдмрд╛рд╣рд░реА рд╡рд╛рдпрд░рд┐рдВрдЧ рд╕реЗ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PULSE H1012), RJ-45 рдХрдиреЗрдХреНрдЯрд░ (рдПрдХ рдПрдХреАрдХреГрдд рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдФрд░ LEDs рдХреЗ рд╕рд╛рде RJ-45 рдХрдиреЗрдХреНрдЯрд░ рддреБрд░рдВрдд рд╣реИрдВ), рдФрд░ рдПрдХ рджрд░реНрдЬрди рдкреНрд░рддрд┐рд░реЛрдзрдХ рдЪрд╛рд╣рд┐рдПред рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, 25 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдкрд░ рдХреНрд╡рд╛рд░реНрдЯреНрдЬ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдВрддрд░рд┐рдХ рдПрдордХреЗ рдЖрд╡реГрддреНрддрд┐ рдХреЛ рдкреАрдПрд▓рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 40 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмрд╛рд╣рд░реА ENC624J600 PHY рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдлреНрд▓реИрд╢ рдореИрдХ рдПрдбреНрд░реЗрд╕ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ ENC28J60 рдФрд░ PIC18F87J60 рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдПрдХ рдЦрд░реАрджреЗ рдЧрдП рдорд╛рдЗрдХреНрд░реЛрдХреНрд░реЗрд╕реАрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдореИрдХ рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдпрд╣ рддрдп рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ WEB рд╕рд░реНрд╡рд░ рдФрд░ SNMP mibs рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓реЗрдВ рдХрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрдВрдЧреАред рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ: рдпрд╛ рддреЛ рд╕реАрдзреЗ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдореЛрд░реА рдореЗрдВ (рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд╕рдд рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде ~ 33kb рдФрд░ рдПрдХ рдЖрдВрддрд░рд┐рдХ 128kb ROM рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ, рд╣рдореЗрдВ ~ 95kb рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рди рдорд┐рд▓рддрд╛ рд╣реИ), рдпрд╛ рдПрдХ рдмрд╛рд╣рд░реА EEPROM рдЪрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рд╕реНрдЯреИрдХ 25LC1024 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ), FLASH (рд╢реНрд░реГрдВрдЦрд▓рд╛) SST25), рдПрдХ SD рдХрд╛рд░реНрдб рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ USB рдбреНрд░рд╛рдЗрд╡ (рдЖрдкрдХреЛ рдмреЛрд░реНрдб рдкрд░ USB рдХреЗ рд╕рд╛рде PIC32 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣рдореЗрдВ рдХреНрдпрд╛ рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддреА рд╣реИ?

рд╕рдорд░реНрдерд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛:



тАв рдкреНрд░реЛрдЯреЛрдХреЙрд▓: ARP, IP, ICMP, UDP, TCP, DHCP, SNMP, SMTP, HTTP, FTP, TFTP
тАв рдЯреАрд╕реАрдкреА рдФрд░ рдпреВрдбреАрдкреА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
тАв рдПрд╕рдПрд╕рдПрд▓ рд╕рдорд░реНрдерди
тАв NetBIOS рд╕рдорд░реНрдерди
тАв DNS рд╕рдорд░реНрдерди

рд╕рдорд░реНрдерд┐рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдЯреИрдХ:




Http рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИрдВ рдЬреЛ GET рдФрд░ POST рдЕрдиреБрд░реЛрдзреЛрдВ, SSL рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ GZIP рд╕рдВрдкреАрдбрд╝рди, рдПрдХ ICMP рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░, рдПрдХ SNMP рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ (рд╕рдВрд╕реНрдХрд░рдг 1, 2 рдФрд░ 3, SNMP TRAP рд╕рд╣рд┐рдд), TCP2ART рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмреНрд░рд┐рдЬ, рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред TELNET, DynDNS рдХреНрд▓рд╛рдЗрдВрдЯ, DNS, DHCP, рдФрд░ рдмрд╣реБрдд рдХреБрдЫред

рдЗрд╕ рд╕рдм рдХреЗ рд╕рд╛рде, рдвреЗрд░ рдЬреНрдпрд╛рджрд╛ рдореЗрдореЛрд░реА рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИред рддреЛ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдореЗрдВ рдПрдХ WEB рд╕рд░реНрд╡рд░, DHCP рдФрд░ DNS рдХреНрд▓рд╛рдЗрдВрдЯ, рдИрдерд░рдиреЗрдЯ -рд╕рд┐рдпрд░ рдмреНрд░рд┐рдЬ, TFTP рдФрд░ SNMP рд╕рд░реНрд╡рд░, SMTP рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдХреЛ рд▓рдЧрднрдЧ 33 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдореЛрд░реА (ROM) рдФрд░ 2 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рдбреЗрдЯрд╛ рдореЗрдореЛрд░реА (RAM) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрдмрдХрд┐ рдХрд┐ PIC18F67J60 рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдореЛрд░реА рдХрд╛ рдЖрдХрд╛рд░ 128kb рд╣реИред

рдвреЗрд░ рдкреНрд░рджрд░реНрд╢рди:




рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЧрддрд┐ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдРрд╕реЗ рдлреЗрд╕рдмреБрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрд┐рд╕реА рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред AJAX рдХреЗ рд╕рд╛рде рдПрдХ 30kB рдкреГрд╖реНрда рдФрд░ рдЫреЛрдЯреА рддрд╕реНрд╡реАрд░реЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ (рдПрдХ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░) рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рднреА рдХрдо рд╕рдордп рдореЗрдВ рд▓реЛрдб рд╣реЛрдЧрд╛ред
MAL рд╡рд┐рддрд░рдг рдореЗрдВ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИрдВ:

тАв TCPIP рдЗрдВрдЯрд░рдиреЗрдЯ рдмреВрдЯрд▓реЛрдбрд░ рдРрдк - рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ TFTP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
тАв рдЯреАрд╕реАрдкреАрдЖрдИрдкреА рдЗрдВрдЯрд░рдиреЗрдЯ рд░реЗрдбрд┐рдпреЛ рдРрдк - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рд╛рдЗрдЯ рд╕реЗ рдПрдордкреА 3 рд╕реНрдЯреНрд░реАрдо рдирд┐рднрд╛рддрд╛ рд╣реИ (рдПрдХ рдмрд╛рд╣рд░реА рдПрдордкреА рдбрд┐рдХреЛрдбрд░ рдЪрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
тАв TCPIP WebVend рдРрдк - рдПрдХ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (GET \ POST рдХрд╛ рд╕рдВрдЪрд╛рд▓рди, Ajax рдЕрдиреБрд░реЛрдз рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдВрдбрд┐рдВрдЧ рдорд╢реАрди рдПрдореБрд▓реЗрдЯрд░)

рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛


рдпрд╣ рд╕рдм рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдЗрд╕реЗ "рдбреЗрдореЛ рдРрдк" (рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдк рд╕рдорд╛рдзрд╛рди v2011-12-05 \ TCPIP \ рдбреЗрдореЛ рдРрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ) рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реЛрдиреЗ рджреЗрдВред рд╣рдо рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдПрдордкреАрдПрд▓рдПрдмреА (* .mcp, * .mcw) рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рд┐рдд "рдлрд╛рдЗрд▓" рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рджреЗрдЦрддреЗ рд╣реИрдВред рд╣рдо рдЕрдкрдиреЗ рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХрд╣рддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдмреЛрд░реНрдб рдХреЛ рдИрдерд░рдиреЗрдЯ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ C32-PIC32_ETH_SK_ETR795 рдЦреЛрд▓рддреЗ рд╣реИрдВред рдпрджрд┐ рдмреЛрд░реНрдб рдХрд╕реНрдЯрдо рд╣реИ, рддреЛ рдЖрдк рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рд╕рдмрд╕реЗ рд╕рдорд╛рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдмреЛрд░реНрдб PIC18F67J60 рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд PHY рдХреЗ рд╕рд╛рде рд╣реЛрдЧрд╛, рддреЛ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ C18-PICDN2_ETH97 рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрд╢реЛрдзрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЪрдврд╝рддреЗ рд╣реИрдВ-> рдмрд┐рд▓реНрдб рд╡рд┐рдХрд▓реНрдк-> рдкреНрд░реЛрдЬреЗрдХреНрдЯ-> C18, рдФрд░ C18-PICDN2_ETH97 рдХреЛ "Your_BOARD" рдореЗрдВ рдмрджрд▓реЗрдВ:




рд╕рдмрд╕реЗ рд╕рдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ HW_ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ Your_BOARD.hред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдирдВрдмрд░ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди рд▓реЗрдВ рдХрд┐ SPI_EEPROM.c рдореЙрдбреНрдпреВрд▓ рдмрд╛рд╣рд░реА EEPROM рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SPI рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХрд╛ рдирд╛рдо рд╡рд╣рд╛рдВ рд╕реЗ рд▓реЗрддрд╛ рд╣реИ:

#define EEPROM_CS_TRIS (TRISCbits.TRISC0)
#define EEPROM_CS_IO (LATCbits.LATC0)
#define EEPROM_SCK_TRIS (TRISCbits.TRISC3)
#define EEPROM_SDI_TRIS (TRISCbits.TRISC4)
#define EEPROM_SDO_TRIS (TRISCbits.TRISC5)


рдпрджрд┐ рдкреЛрд░реНрдЯ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпреЛрдЬрдирд╛ рдореЗрдВ рднрд┐рдиреНрди рд╣реИрдВ, рддреЛ рд╡рд┐рд╕рдВрдЧрддрд┐ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред
рдкреНрд░рджрд░реНрд╢рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЗрд╕ рддрд░рд╣ рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рд╡рд┐рднрд┐рдиреНрди "рд╣рд╛рд░реНрдбрд╡реЗрдпрд░" рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рддрд╛ рдХреА рдЗрдЪреНрдЫрд╛ рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, "рд╕реНрдХреНрд░реИрдЪ" рд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп рдпрд╣ рд╕рдм рд╕рд╛рдл рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рд░рд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╕рдВрд░рдЪрдирд╛ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рджреВрд╕рд░реА рджрд┐рд▓рдЪрд╕реНрдк рдлрд╝рд╛рдЗрд▓ TCPConfig.h рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪрдпрдирд┐рдд рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реБрдП, рдлрд╝рд╛рдЗрд▓ рдХреЛ IP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рддреА рд╣реИред PIC18F87J60 рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ TCPIP ETH97.h рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛
рдЗрд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдЯреИрдХ рдореЙрдбреНрдпреВрд▓ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рд╣реЛрддреЗ рд╣реИрдВред

/* Application Level Module Selection
* Uncomment or comment the following lines to enable or
* disabled the following high-level application modules.
*/

#define STACK_USE_UART // Application demo using UART for IP address display and stack configuration
#define STACK_USE_UART2TCP_BRIDGE // UART to TCP Bridge application example
//#define STACK_USE_IP_GLEANING

:
#define MPFS_USE_EEPROM
//#define MPFS_USE_SPI_FLASH

IP- :
#define MY_DEFAULT_IP_ADDR_BYTE1


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


рдЗрд╕рд▓рд┐рдП, рд╣рдо рдорд╛рди рд▓реЗрдВрдЧреЗ рдХрд┐ рдЯреАрд╕реАрдкреА рдкреЛрд░реНрдЯ рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЖрдИрдкреА рдкрддрд╛ рд╕реЗрдЯ рд╣реИ, рдФрд░ рд╣рдо рд╕рдВрдХрд▓рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЧрдпрд╛, рддреЛ рд╣рдо рдлрд░реНрдорд╡реЗрдпрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдордХреЗ, рдбрд┐рдмрдЧрд░ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдореЗрдВ рд╕реАрд╡реЗ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, TCPIP ETH97.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрддреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдВрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред рдпрджрд┐ рдХреЛрдИ рдкрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд▓рд┐рдВрдХ рдПрд▓рдИрдбреА рдЪрд╛рд▓реВ рд╣реИ, рдпрджрд┐ рдмреЛрд░реНрдб рдХреЛ рдбреАрдПрдЪрд╕реАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдФрд░ рдЖрдИрдкреА-рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рд╣реИред рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк #define STACK_USE_DHCP_CLIENT рдФрд░ #define STACK_USE_IP_GLEANING рд▓рд╛рдЗрдиреЛрдВ рдХреА #define STACK_USE_DHCP_CLIENT рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд IP- рдкрддрд╛ рдореЛрдб рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ рдкрд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмреЛрд░реНрдб рдХреЗ рдкрддреЗ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред 404 рддреНрд░реБрдЯрд┐ рджреЗрдЦреЗрдВ, рдкреГрд╖реНрда рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдордиреЗ рдЕрднреА рддрдХ рдЕрдкрдиреЗ WEB рд╕рд░реНрд╡рд░ рдкрд░ рдХреЛрдИ рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдирд╣реАрдВ рдХреА рд╣реИред рд╣рдо рдЗрд╕ рджреЛрд╖ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрд┐рддрд╛ "рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдк MPFS рдЬрдирд░реЗрдЯрд░" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреА рд╣реИ рдЬреЛ рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рд╕рд░реНрд╡рд░ рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкреНрд░рд╛рд░реВрдк рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рд╣рдордиреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдЖрдВрддрд░рд┐рдХ ROM рдХреЛ рдЬрдЧрд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдо C18 / C32 рдЫрд╡рд┐ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ MPFSImg2.c рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рд░рдгреА рдШреЛрд╖рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ recompiledред
рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рд╣рд░реА FLASH рдпрд╛ EEPROM рдЪрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ BIN рдЫрд╡рд┐ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк MPFSImg2.bin рдлрд╝рд╛рдЗрд▓ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдлреЙрд░реНрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ MPFS рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдХреЗ рдЕрдкрд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИред рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдкреГрд╖реНрда рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░реЗрдВ, рдЖрдирдВрдж рд▓реЗрдВ!

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред


рд╕реНрдЯреЗрдЯрд┐рдХ рдЯреЗрдХреНрд╕реНрдЯ рд╕реАрдзреЗ HTML рдлрд╛рдЗрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рдХреЗ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рдПрдХ рдбрд╛рдпрдирд╛рдорд┐рдХ рд╡реИрд░рд┐рдПрдмрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдХреЗрд╡рд▓ ~ рд╡реЗрд░рд┐рдПрдмрд▓ ~ рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд┐рд▓реНрдбреНрд╕ рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯреЗрдВ, рдФрд░ CustomHTPPApp.c рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреЛрдб рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВ, рдлреЙрд░реНрдо HTTPPrint_variable () рдХреЗ рд░реВрдк рдореЗрдВ

CustomHTPPApp.c

рдЕрдЬрд╛рдХреНрд╕ рдЪрд░ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдбрд╛рдпрдирд╛рдорд┐рдХ рдЪрд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ XML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
~ var1 ~, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ HTML рдкреЗрдЬ рдХреЛрдб рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: document.getElementById ('var1'); рднреАрддрд░ HTML = getXMLValue (xmlData, 'var1');

рд╕реНрдЯреИрдХ рдХрд┐рд╕реА рднреА рдУрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рд╣рдХрд╛рд░реА рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдУрдПрд╕ рдХреЛ рднреА рдкреЗрдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, AN1264 рджреЗрдЦреЗрдВ)ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рдореБрдЦреНрдп () рдПрдХ рдЕрдВрддрд╣реАрди рд▓реВрдк рдШреВрдорддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рд╕реНрдЯреИрдХ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (StackTask рдФрд░ StackApplications) рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди (рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, user_task (), рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред

do
{
StackTask();
StackApplications();
user_task();
CLRWDT(); //
}while(1);


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

рдирд┐рд╖реНрдХрд░реНрд╖


рдИрдерд░рдиреЗрдЯ рдереАрдо рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╣реИ, рдФрд░ рдПрдХ рд▓реЗрдЦ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрдЪрд┐рдк рдИрдерд░рдиреЗрдЯ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕реЗрдВрдЯрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ, рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВ
рдПрдХ рд╢рд╛рдо рдореЗрдВ рдИрдерд░рдиреЗрдЯ рдПрдбрд╛рдкреНрдЯрд░ рдХреЗ рд▓рд┐рдП рдмрдЬрдЯ рд╕реАрд░рд┐рдпрд▓
рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛

рдЕрджреНрдпрддрди: рдореГрдд рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдкреБрдирдГ рд▓реЛрдб рдЫрд╡рд┐рдпреЛрдВ

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


All Articles