{"id":230661,"date":"2014-07-22T15:25:03","date_gmt":"2014-07-22T11:25:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=230661"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=230661","title":{"rendered":"<span class=\"post_title\">\u0412\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0437\u0430 5 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u0431\u0430\u0437\u0435 PIC \u0438 W5100<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0412\u0441\u0435, \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0437\u0430 5 \u043c\u0438\u043d\u0443\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0447\u0438\u043f\u0435 W5100, \u043d\u043e \u0441\u0442\u0435\u0441\u043d\u044f\u043b\u0438\u0441\u044c \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/c88\/896\/d59\/c88896d59d524c4349a7ccc53b60a8a8.jpg\" alt=\"image\"\/><\/p>\n<p>  \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e, \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0438 \u044f\u0441\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e, \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0438 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0435 W5100 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Wiznet.<\/p>\n<p>  \u0427\u0435\u043c \u0436\u0435 \u043e\u043d\u0430 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430? <br \/>  \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445 \u2013 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u0430\u044f. <br \/>  \u0418 \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445 \u2013 \u0432\u0441\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u043d\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u0437\u0430 \u0412\u0430\u0441. \u0412\u0430\u043c \u0436\u0435 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u043b\u0435\u043d\u0438\u0432\u043e \u0441\u043b\u0430\u0442\u044c-\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0422\u0415\u041a\u0421\u0422\u041e\u0412\u042b\u0415 (\u0442\u043e\u0447\u043d\u0435\u0435 \u2014 HTML) \u0434\u0430\u043d\u043d\u044b\u0435.<br \/>  <a name=\"habracut\"><\/a><br \/>  <i>\u0414\u0438\u0441\u043a\u043b\u0430\u0439\u043c\u0435\u04401: \u0418\u043d\u0436\u0435\u043d\u0435\u0433\u0440\u0430\u043c-\u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0449\u0438\u043a\u0430\u043c \u0441\u2026 \u0434\u0446\u0430\u0442\u0438\u043b\u0435\u0442\u043d\u0438\u043c \u0441\u0442\u0430\u0436\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u044f \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u043e\u0439 \u0438 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u043e\u0439, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u0438 \u0442\u0430\u043a (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e) \u0432 \u0442\u0435\u043c\u0435. \u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u0430 \u043d\u0430 \u0442\u0435\u0445, \u043a\u0442\u043e \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u044b\u0442 \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0435, \u0438\u043b\u0438, \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432, \u0438 \u043f\u0440\u043e\u0441\u0442\u043e, \u0447\u0435\u0440\u0442 \u043f\u043e\u0434\u0435\u0440\u0438, \u0445\u043e\u0447\u0435\u0442, \u043d\u0430\u043a\u043e\u043d\u0435\u0446 (\u0441\u043b\u0438\u0442\u043d\u043e), \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u044d\u0442\u0443\u2026 (\u0437\u0430\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u043e) (\u043b\u0430\u0434\u043d\u043e, \u043f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u00ab\u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e\u00bb) \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 W5100.<\/p>\n<p>  \u0414\u0438\u0441\u043a\u043b\u0430\u0439\u043c\u0435\u0440 2: \u042f \u043d\u0435 \u0441\u0442\u0430\u0432\u0438\u043b \u0446\u0435\u043b\u044c\u044e \u0432\u0441\u0435\u043e\u0431\u0449\u0435\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435, \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0434\u0430\u0442\u0430\u0448\u0438\u0442 \u0438 \u0440\u0430\u0441\u0442\u043e\u043b\u043a\u043e\u0432\u044b\u0432\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0435\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u043e\u0432. \u041c\u043e\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u044f\u0441\u043d\u0438\u0442\u044c \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0447\u0438\u043f\u043e\u043c W5100 \u0438 \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u043c \u0430\u043f\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u2013 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440).<\/p>\n<p>  \u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u043e\u0438\u0445 \u0440\u0430\u0437\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0439 \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0430\u043f\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438, \u043a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u0438\u043c\u0435\u0435\u0442 \u043e\u043f\u044b\u0442 \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u0445 \u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u0432 \u0441\u0435\u0442\u044f\u0445 \u2013 \u0441\u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432\u043e \u0432\u0441\u0435\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u0414\u0438\u0441\u043a\u043b\u0430\u0439\u043c\u0435\u04403: \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043d\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0434\u043e\u043c\u0430. \u0418 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u044f\u0434\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u043a\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0438\u0437 \u0432\u0437\u0440\u043e\u0441\u043b\u044b\u0445.<\/i><\/p>\n<h4>SCOPE<\/h4>\n<p>  \u0421\u0442\u0430\u0442\u044c\u044f \u043d\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u0434\u0430\u0442\u044c \u0432\u0441\u0435\u043e\u0431\u044a\u0435\u043c\u043b\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u043f\u043e \u043e\u0431\u0448\u0438\u0440\u043d\u043e\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0442\u0435\u043c\u0435, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u043c\u0430\u043d\u0443\u0430\u043b\u044b, \u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0447\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438 \u0437\u0430\u0447\u0435\u043c, \u0438 \u043a\u0430\u043a\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u0441\u043a\u0430\u0442\u044c \u0434\u043b\u044f \u0443\u0433\u043b\u0443\u0431\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0441\u0430\u0431\u0436\u0435\u043a\u0442\u0430. <\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0412\u0430\u043c \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 (\u0442\u043e\u0447\u043d\u0435\u0435 \u2013 Ethernet \u0438 TCP\/IP ) \u0432 \u0441\u0432\u043e\u0438\u0445 \u0430\u043f\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f\u0445 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u0445, \u0438, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443, \u043e\u043d \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043f\u043e\u043b\u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438. \u0412\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0435\u0433\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0442\u044c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043e\u0439\u043c\u0435\u0442\u0435, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e \u0441\u0432\u044f\u0437\u043a\u043e\u0439 \u043a\u043b\u0438\u0435\u043d\u0442-\u0441\u0435\u0440\u0432\u0435\u0440, \u0438, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0438\u043c\u0435\u044f \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u0447\u0442\u043e-\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0435 \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u0436\u0435 \u043c\u043d\u043e\u0433\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044f \u0442\u0435\u043c\u0443 \u2013 \u0412\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043b\u0435\u0433\u0447\u0435 \u0443\u0433\u043b\u0443\u0431\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u043e\u0437\u043d\u0430\u043d\u0438\u044f, \u043d\u0435 \u0437\u0430\u0441\u044b\u043f\u0430\u044f \u043d\u0430\u0434 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432, \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 NAT, \u0438\u043b\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u043f\u0430\u043a\u0435\u0442\u0430\u0445.<\/p>\n<p>  <i>(&quot;\u2026 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0432 \u043f\u0430\u043a\u0435\u0442\u0430\u0445..&quot; \u0427\u0442\u043e \u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0432\u0440\u043e\u0434\u0435 \u0443 \u0412\u0443\u0434\u0438 \u0410\u043b\u043b\u0435\u043d\u0430 \u0431\u044b\u043b\u043e?)<\/i><\/p>\n<p>  \u041f\u043e \u0441\u0432\u043e\u0435\u043c\u0443 \u043e\u043f\u044b\u0442\u0443: \u043e\u0431\u044b\u0447\u043d\u043e, \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0438\u0448\u0435\u0442 \u0441\u0442\u0430\u0442\u044c\u044e, \u0441\u0430\u0431\u0436\u0435\u043a\u0442 \u044f\u0441\u0435\u043d \u0438 \u043f\u043e\u043d\u044f\u0442\u0435\u043d, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d \u043f\u0438\u0448\u0435\u0442 \u043a\u043e\u0440\u043e\u0442\u043a\u043e \u0438 \u00ab\u044f\u0441\u043d\u043e\u00bb. <br \/>  \u041e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e \u0447\u0430\u0441\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u0434\u043b\u044f \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435 \u0432 \u0442\u0435\u043c\u0435, \u0438 \u0447\u0430\u0441\u0442\u043e \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d \u0433\u0430\u0434\u0430\u0442\u044c, \u0447\u0442\u043e \u0436\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0430\u0432\u0442\u043e\u0440 \u0438\u043c\u0435\u043b \u0432 \u0432\u0438\u0434\u0443, \u0438 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043b\u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0435 \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0442 \u0442\u0430\u043a, \u0438\u043b\u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442? \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0442\u0430\u043c, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e, \u044f \u043d\u0435 \u0441\u0442\u0430\u043d\u0443 \u0440\u0430\u0441\u0441\u0443\u0441\u043e\u043b\u0438\u0432\u0430\u0442\u044c, \u0430 \u0432 \u0442\u0435\u0445 \u043c\u0435\u0441\u0442\u0430\u0445, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u0436\u0435\u0432\u0430\u0442\u044c \u0434\u043e \u043f\u043e\u043b\u043d\u043e\u0439 \u044f\u0441\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u2013 \u043d\u0435 \u0441\u0442\u0430\u043d\u0443 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0441\u043b\u043e\u0432.<\/p>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c, \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u0435\u043d (\u0434\u0430\u0436\u0435 \u044f), \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435, \u0435\u0441\u043b\u0438 \u043a\u0442\u043e \u0443\u0448\u0435\u043b \u043d\u0435\u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044b\u043c.<\/p>\n<p>  \u0414\u043b\u044f \u0434\u043e\u0447\u0438\u0442\u0430\u0432\u0449\u0438\u0445 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u2014 \u0431\u043e\u043d\u0443\u0441: \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u0420\u0410\u0411\u041e\u0422\u0410\u042e\u0429\u0418\u0419 \u043a\u043e\u0434 \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u043c \u00ab\u0421\u0438\u00bb \u0441 \u043a\u0443\u0447\u0435\u0439 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u043e\u0432, \u0447\u0442\u043e\u0431 \u0434\u0430\u0436\u0435 \u043f\u044f\u0442\u0438\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0443 \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435. \u041a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e PICa (\u043d\u0435 \u0432\u0441\u0435 \u0436 \u0435\u0449\u0435 \u0432\u043e\u043a\u0440\u0443\u0433 AVR-\u0449\u0438\u043a\u0438 \u0438 Arduin-\u0449\u0438\u043a\u0438?).<\/p>\n<h4>\u0418\u043d\u0433\u0440\u0435\u0434\u0438\u0435\u043d\u0442\u044b<\/h4>\n<p>  \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u043e\u0441\u043e\u0431\u043e\u0433\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043b\u0430\u0442\u0443 \u0438 \u043f\u0430\u044f\u0442\u044c \u043d\u0430 \u043d\u0435\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0435 TQFP80, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0432\u0437\u044f\u0442\u044c \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0430\u0440\u0434\u0443\u0438\u043d\u043e\u0432\u0441\u043a\u0438\u0439 Ethernet Shield \u043d\u0430 \u0431\u0430\u0437\u0435 W5100. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u043e\u0439 PIC, \u043c\u0430\u043a\u0435\u0442\u043a\u0430 \u0434\u043b\u044f PICa \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0432, Ethernet \u043f\u0430\u0442\u0447-\u043a\u043e\u0440\u0434 \u0438, \u043f\u043e \u0432\u043a\u0443\u0441\u0443, \u0441\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u0430\u0431\u0435\u043b\u044c RS232, \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u0432\u0434\u0440\u0443\u0433 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b (\u0432 \u043a\u043e\u0434 \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u043e\u043f\u0443\u0442\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u2013 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b).<\/p>\n<h4>\u041b\u0438\u0440\u0438\u043a\u0430 (\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c)<\/h4>\n<p>  \u0412\u0441\u0435\u043c, \u0438\u043c\u0435\u044e\u0449\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u044b\u0442 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435, \u044d\u0442\u0430 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0437\u043d\u0430\u043a\u043e\u043c\u0430 (\u0438\u043b\u0438 \u043d\u0435\u0442? \u0418\u043b\u0438 \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u044f \u0442\u0430\u043a\u043e\u0439 \u043b\u0443\u0437\u0435\u0440?)<\/p>\n<p>  \u0412\u044b \u0431\u0435\u0440\u0435\u0442 \u043d\u0435\u043a\u0438\u0439 \u0447\u0438\u043f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0430\u043f\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e. \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0447\u0442\u043e \u0432\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0430 \u0442\u0435\u043c\u0430\/\u043e\u0431\u043b\u0430\u0441\u0442\u044c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0434\u0430\u043d\u043d\u0430\u0430\u044f \u0430\u043f\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Ethernet, TCP\/IP, HTTP, CGI etc).<\/p>\n<p>  \u0412\u043d\u0430\u0447\u0430\u043b\u0435 \u0412\u044b \u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u0430\u0442\u0430\u0448\u0438\u0442 \u043d\u0430 \u0447\u0438\u043f, \u0432 100500 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043b\u0438\u0440\u0438\u043a\u0443<\/b><\/p>\n<div class=\"spoiler_text\">  \u0438 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0435\u0433\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435. \u0417\u0430\u0442\u0435\u043c \u0432\u044b \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0435 \u0435\u0433\u043e \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0435, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u0430\u043a \u0441 \u0434\u0430\u043d\u043d\u044b\u043c \u0447\u0438\u043f\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0417\u0430\u0442\u0435\u043c \u0432\u044b \u0431\u0435\u0440\u0435\u0442\u0435 errata \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0435 \u0442\u0435 \u0436\u0435 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u043e\u043d\u044b\u0445 \u0432\u044b, \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u043a\u0430\u043a \u0447\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u0430\u043a \u0435\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c (100500 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 -1), \u043d\u043e \u043f\u043e\u043a\u0430, \u0432\u0441\u0435 \u0436\u0435, \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u044f\u0441\u043d\u044b\u043c, \u043a\u0430\u043a \u041f\u0420\u0410\u0412\u0418\u041b\u042c\u041d\u041e \u0435\u0433\u043e \u043d\u0430\u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c. (\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043c\u0435\u0435\u0442 \u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c, \u0438 \u0435\u0441\u043b\u0438 \u0434\u0430 \u2013 \u0442\u043e \u043a\u0430\u043a\u043e\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439, \u0430 \u0435\u0441\u043b\u0438 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u2013 \u0442\u043e \u0442\u043e\u0447\u043d\u043e \u043b\u0438 \u043e\u043d \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f?).<\/p>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0438\u043d\u0435\u0442\u0435 \u0438 \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0430\u0445, \u043d\u043e \u0438\u0437 \u0432\u0441\u0435\u0445 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u0442\u0430\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u044f\u0441\u043d\u043e, \u043a\u0430\u043a\u0438\u0435 \u041d\u0410 \u0421\u0410\u041c\u041e\u041c \u0414\u0415\u041b\u0415 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442, \u043a\u0430\u043a\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043e\u0431\u0438\u043b\u0438\u0435 \u0443\u0436\u0430\u0441\u0430\u044e\u0449\u0438\u0445 \u043e\u0448\u0438\u0431\u043e\u043a (\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0412\u044b \u043f\u043e\u043a\u0430 \u0438 \u043d\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u0435\u0442\u0435), \u0430 \u043a\u0430\u043a\u0438\u0435 \u00ab\u043f\u0440\u0438\u043c\u0435\u0440\u044b\u00bb \u2013 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043b\u043e\u0434 \u0444\u0430\u043d\u0442\u0430\u0437\u0438\u0438 \u0430\u0444\u0444\u0442\u0430\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043b, \u0434\u0430 \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b, \u043d\u0430\u0434\u0435\u044f\u0441\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u043a\u0430\u043d\u0430\u0435\u0442.<\/p>\n<p>  \u041e\u043a, \u0432\u044b \u043f\u0440\u043e\u0448\u043b\u0438 \u0432\u0441\u0435 \u044d\u0442\u0438 \u044d\u0442\u0430\u043f\u044b, \u0422\u0415\u041f\u0415\u0420\u042c \u0412\u0430\u043c \u0443\u0436 \u0442\u043e\u0447\u043d\u043e \u0432\u0441\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e.<\/p>\n<p>  \u0412\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 \u0432\u0441\u0435 \u043f\u0438\u043d\u044b \u0447\u0438\u043f\u0430 \u043a \u0447\u0435\u043c\u0443 \u0441\u043b\u0435\u0434\u0443\u0435\u0442, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 \u0447\u0438\u043f \u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0443, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0435 \u0432\u0441\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0438 \u0447\u0442\u043e \u0442\u0430\u043c \u0443 \u043d\u0435\u0433\u043e \u0435\u0449\u0435 \u0432\u043d\u0443\u0442\u0440\u0438, \u0438 \u2013 \u043e \u0447\u0443\u0434\u043e! \u2013 \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e\u2026<br \/>  \u0414\u0430-\u0434\u0430, \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u2013 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e.<\/p>\n<p>  \u042d\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u044b\u0439 \u044d\u0442\u0430\u043f \u2013 \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0438 \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e \u0434\u0430\u0442\u0430\u0448\u0438\u0442, \u043d\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412\u044b \u0434\u043e\u043b\u0433\u043e \u0438 \u043c\u0443\u0442\u043e\u0440\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c, \u0432 \u0447\u0435\u043c \u0436\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0438 \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0435 1&#8230;5&#8230;17 \u0431\u0430\u0433\u043e\u0432. \u041d\u0443, \u043a\u043e\u043d\u0435\u0447\u043d\u043e! \u0418\u043c\u0435\u043d\u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u0438 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u0434\u0430\u0442\u0430\u0448\u0438\u0442\/\u044d\u0440\u0440\u0430\u0442\u0435. \u041d\u0443, \u0442\u0435\u043f\u0435\u0440\u044c-\u0442\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0427\u0422\u041e \u0418\u041c\u0415\u041d\u041d\u041e \u043e\u043d\u0438 \u0442\u0430\u043c \u0438\u043c\u0435\u043b\u0438 \u0432 \u0432\u0438\u0434\u0443 (\u0430 \u043e \u0447\u0435\u043c \u0432\u044b \u0441\u0430\u043c\u0438 \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f).<\/p>\n<p>  \u0412\u0441\u0435. <br \/>  \u0410\u043f\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430. <br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u0412\u044b \u2013 \u0441\u043f\u0435\u0446 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0447\u0438\u043f\u0443. <br \/>  \u0424\u0430\u043d\u0444\u0430\u0440\u044b. \u041f\u0440\u0435\u043c\u0438\u044f. \u041f\u0438\u0432\u043e. \u0422\u043e\u043b\u043f\u044b \u043f\u043e\u043a\u043b\u043e\u043d\u043d\u0438\u0446. \u0421\u043b\u0430\u0432\u0430 \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0434\u0438\u0434\u043b\u0430\u0439\u043d.  <\/div>\n<\/div>\n<p>  \u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u0438\u0437\u0432\u0430\u043d\u0430 \u043f\u043e\u043c\u043e\u0447\u044c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0443\u0434\u043d\u044b\u0435 \u044d\u0442\u0430\u043f\u044b \u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u0442\u0430\u0434\u0438\u0438 \u00ab\u0432\u0441\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e\u00bb \u0438 \u0434\u0430\u043b\u0435\u0435 \u2014 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443.<\/p>\n<h4>\u041b\u0438\u0440\u0438\u043a\u0430 \u2014 2 (\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c)<\/h4>\n<p>  \u041c\u043d\u043e\u0433\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 ( \u0434\u0430\u0436\u0435 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435), \u0435\u0449\u0435 \u0432 \u0434\u043e- Windows98 \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u043c\u043e\u0439 \u0442\u043e\u0432\u0430\u0440\u0438\u0449 \u043f\u043e\u0432\u0430\u0440\u0447\u0438\u0432\u0430\u043b, \u0447\u0442\u043e \u0432\u043e\u0442 \u043c\u043e\u043b, \u0440\u0430\u0437\u0432\u0435\u043b\u043e\u0441\u044c \u044d\u0442\u0438\u0445 \u043b\u0436\u0435-\u044e\u0437\u0435\u0440\u043e\u0432, DOS\u043e\u0432\u0441\u043a\u0438\u0445 \u043a\u043e\u043c\u043c\u0430\u043d\u0434 \u043d\u0438\u0447\u0435\u0440\u0442\u0430 \u043d\u0435 \u0437\u043d\u0430\u044e\u0442, \u0434\u0443\u043c\u0430\u044e\u0442, \u0447\u0442\u043e \u0440\u0430\u0437 \u0435\u0441\u0442\u044c Windows 3.11, \u0442\u043e \u0432 config.sys \u043b\u0435\u0437\u0442\u044c \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0430 \u0442\u0443\u0434\u0430 \u0436\u0435, \u2014 \u0445\u043e\u0442\u044f\u0442 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0438\u043c\u0435\u0442\u044c.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u043f\u043e \u041b\u0438\u0440\u0438\u043a\u0435 2 ?<\/b><\/p>\n<div class=\"spoiler_text\">\u042f \u0432\u0441\u0435\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u043b, \u0447\u0442\u043e \u043a\u0442\u043e-\u0442\u043e \u043b\u044e\u0431\u0438\u0442 \u043a\u043e\u0432\u044b\u0440\u044f\u0442\u044c\u0441\u044f \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u044f\u0445, \u0430 \u043a\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u043d\u0435 \u043f\u0430\u0440\u0438\u0442\u044c\u0441\u044f. \u0418 \u043e\u0431\u0430 \u0432\u0438\u0434\u0430 \u0438\u043c\u0435\u044e\u0442 \u043f\u0440\u0430\u0432\u043e \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435. (\u0413\u0430\u0439 \u041a\u0430\u0432\u0430\u0441\u0430\u043a\u0438: \u00ab\u2026 \u041a\u0430\u043a \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u043a\u0430 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435? \u041c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0440\u0430\u0437\u043e\u0433\u0440\u0435\u0432\u0430\u0442\u044c! \u041d\u0438\u043a\u0442\u043e \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u0443\u0440\u0441\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u043d\u043e\u0432\u043e\u043a!\u00bb).<\/p>\n<p>  \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0447\u0430\u0441\u0442\u043e \u0441\u043b\u044b\u0448\u043d\u044b \u0441\u0435\u0442\u043e\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e, \u0432\u043e\u0442, \u043c\u043e\u043b, \u044d\u0442\u0438 \u0410\u0440\u0434\u0443\u0438\u043d\u044b \u043f\u043e\u0440\u0442\u044f\u0442 \u043d\u0430\u0440\u043e\u0434 \u0438 \u043f\u043b\u043e\u0434\u044f\u0442 \u043d\u0435\u0443\u0447\u0435\u0439 \u2013 \u043d\u0435\u0442 \u0447\u0442\u043e\u0431 \u043e\u0442\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043b\u0435\u0442 n \u0438 \u043d\u0430\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u043e\u043f\u044b\u0442\u0430 \u0435\u0449\u0435 \u043b\u0435\u0442 n+1 \u2014 \u0432\u0441\u0435 \u0431\u0440\u043e\u0441\u0438\u043b\u0438\u0441\u044c \u043a\u043b\u0435\u043f\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u043d\u0435 \u043f\u044b\u0442\u0430\u044f\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0435. <br \/>  \u0423\u0436\u0430\u0441, \u0443\u0436\u0430\u0441.<br \/>  \u0418 \u0447\u0442\u043e? <br \/>  \u042f \u0441\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u2014 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0441 \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u043a\u043e\u0439 \u0436\u0438\u043b\u043a\u043e\u0439 \u0438 \u043a\u0440\u0435\u0430\u0442\u0438\u0432\u043e\u043c \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b \u0437\u0430\u0434\u0443\u043c\u043a\u0443 (\u0438\u043b\u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442) \u0438 \u0445\u043e\u0447\u0435\u0442 \u0435\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c. \u041d\u0435 \u0438\u043c\u0435\u044f \u0433\u043b\u0443\u0431\u043e\u0447\u0430\u0439\u0448\u0438\u0445 \u043f\u043e\u0437\u043d\u0430\u043d\u0438\u0439. \u0418 \u044d\u0442\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435, \u043d\u0430 \u0437\u0430\u0440\u0435 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430, \u0431\u044b\u043b\u0430 \u044d\u0434\u0430\u043a\u0430\u044f \u043c\u043e\u0434\u0430 \u0433\u043e\u0440\u0434\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u043d\u0438\u0437\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438: \u00ab\u0441\u0430\u0439\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432 notepad.exe. \u041d\u0438\u043a\u0430\u043a\u0438\u0445 HTML-\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u0432 !\u00bb. \u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442?<\/p>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u0447\u0438\u043d\u0430\u043b \u043d\u0435 \u0441 \u0421\u0438 \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0441 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u0430 \u2014 \u043f\u0435\u0440\u0432\u044b\u0439 \u0441\u0432\u043e\u0439 \u043a\u043e\u043c\u043f, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0441 \u043d\u0443\u043b\u044f \u0438 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043f\u0443\u0441\u0442\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043b\u0438\u0442\u044c \u0432 \u043d\u0435\u0433\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0445\u043e\u0442\u044f \u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a, \u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043b \u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u043e\u043c \u043a\u043e\u0434\u0435 16-\u0442\u044c\u044e \u0442\u0443\u043c\u0431\u043b\u0435\u0440\u0430\u043c\u0438 \u0448\u0438\u043d\u044b \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 8-\u044e \u0442\u0443\u043c\u0431\u043b\u0435\u0440\u0430\u043c\u0438 \u0448\u0438\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0445. <br \/>  \u041c\u043d\u0435 \u0434\u043e\u043b\u0433\u043e \u0435\u0449\u0435 \u0432\u043e \u0441\u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u0438 \u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0440\u044f\u0434\u044b \u0431\u043e\u043b\u044c\u0448\u0438\u043a \u043a\u0440\u0430\u0441\u043d\u044b\u0445 \u043d\u0443\u043b\u0435\u0439 \u0438 \u0435\u0434\u0438\u043d\u0438\u0447\u0435\u043a, \u0430 \u043a\u043e\u0433\u0434\u0430 \u043c\u0430\u043c\u0430 \u043f\u043e\u0441\u043b\u0430\u043b\u0430 \u043a\u0443\u043f\u0438\u0442\u044c \u0445\u043b\u0435\u0431\u0430, \u043f\u0435\u0440\u0432\u043e\u0439 \u043c\u044b\u0441\u043b\u044c\u044e \u0431\u044b\u043b\u043e: <\/div>\n<\/div>\n<p> \u00ab\u043f\u043e\u0439\u0442\u0438 \u0437\u0430 \u0445\u043b\u0435\u0431\u043e\u043c\u2026 \u044d\u0442\u043e \u043a\u0430\u043a\u043e\u0439 \u041a\u041e\u0414?\u00bb.<\/p>\n<p>  \u0418 \u0434\u0430\u0436\u0435 \u044f, \u0431\u0430\u0433\u0433\u0435\u0440 \u0441\u043e \u0441\u0442\u0430\u0436\u0435\u043c, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432, \u0438 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u0435 \u0432\u0438\u0434\u043e\u0432 \u044e\u0437\u0435\u0440\u043e\u0432.<\/p>\n<h4>Client \u2013 Server. \u0412 \u043e\u0431\u0449\u0438\u0445 \u0447\u0435\u0440\u0442\u0430\u0445<\/h4>\n<p>  \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u043a\u043e\u043d\u0446\u0430 \u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0432\u0435\u0440\u0445.<\/p>\n<p>  \u0412\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u0432\u0432\u043e\u0434\u0438\u0442\u0435 \u0432 \u043d\u0435\u0439 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u0439\u0442\u0430 \u2013 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438. <br \/>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043d\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u0441 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c\u0438, \u0430 \u043a\u0443\u0447\u0443 \u0442\u0435\u043a\u0441\u0442\u0430, HTML-\u0442\u044d\u0433\u043e\u0432, \u043b\u0438\u043d\u043a\u0438 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438\/\u0432\u0438\u0434\u0435\u043e \u0438 \u0442.\u043f., \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u0432\u0441\u0435 \u044d\u0442\u043e \u0432\u043c\u0435\u0441\u0442\u0435, \u0438 \u0432\u044b\u0434\u0430\u0435\u0442 \u0432\u0430\u043c \u0432 \u0432\u0438\u0434\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0439 (\u0438\u043d\u043e\u0433\u0434\u0430) \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438.<\/p>\n<p>  \u0412\u0441\u0435 \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0438 \u0438\u0445 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 \u0441\u0435\u0442\u044c\u044e\/\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u043e\u043c, \u0442\u043e, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c, \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u043c \u0432 \u0441\u0435\u0442\u0438\/\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435, \u0432\u0441\u0435 \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 (HTML, \u0432\u043e\u043a\u0440\u0443\u0433 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u00ab\u043e\u0431\u0435\u0440\u043d\u0443\u0442\u00bb HTTP) \u0437\u0430\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043d\u043e\u0432\u044b\u0439 \u00ab\u0441\u043b\u043e\u0439\u00bb \u2014 TCP\/IP.<\/p>\n<p>  TCP (Transmission Control Protocol) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445. \u0412\u0435\u0431 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b (\u043a\u0430\u043a \u0438 \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0438\u043c\u0435\u043d\u043d\u043e TCP. <\/p>\n<p>  \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u044f \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u043e\u043c\u0438\u043c\u043e \u0422\u0421\u0420 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438 UDP (User Datagram Protocol) \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043e\u0437\u0430\u0434\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u043e\u0439 \u043c\u0435\u043b\u043e\u0447\u044c\u044e, \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439, \u0430 \u0440\u0430\u0437 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u044d\u0442\u043e \u043d\u0435 \u0442\u0440\u0430\u0442\u0438\u0442, \u0442\u043e \u0438 \u0441\u0442\u0440\u043e\u0447\u0438\u0442 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u043a\u0430\u043a \u0438\u0437 \u043f\u0443\u043b\u0435\u043c\u0435\u0442\u0430, \u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043c\u043e\u0436\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (\u043a\u0430\u043d\u0430\u043b) \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439, \u043b\u0438\u0431\u043e \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0436\u0435\u0441\u0442\u043a\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043f\u043e\u0442\u0435\u0440\u0435 (\u0442\u043e\u0447\u043d\u0435\u0435 \u041d\u0415 \u043f\u043e\u0442\u0435\u0440\u0435) \u043f\u0430\u043a\u0435\u0442\u043e\u0432 (\u0433\u043e\u0441\u043f\u043e\u0434\u0438, \u0434\u0430 \u043a\u0442\u043e \u0438\u0445 \u0441\u0447\u0438\u0442\u0430\u0435\u0442!).<\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 UDP \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442, \u043d\u043e W5100 \u0443\u043c\u0435\u0435\u0442 \u0438 \u0435\u0433\u043e.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0430\u0448 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d \u0441 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043e\u043c \u0447\u0435\u0440\u0435\u0437 Ethernet-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0432\u0441\u0435 \u044d\u0442\u043e \u00ab\u043e\u0431\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f\u00bb \u0432 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0441\u043b\u043e\u0439 \u2013 Ethernet frames.<\/p>\n<p>  \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043a\u0430\u043a \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435, \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c TCP\/I\u0420 \u0434\u0430\u0436\u0435 \u0438 \u043f\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u043c\u0443 RS-232 \u043a\u0430\u043d\u0430\u043b\u0443, \u0431\u0435\u0437\u043e \u0432\u0441\u044f\u043a\u043e\u0433\u043e Ethernet.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u043c\u0430\u0442\u0440\u0435\u0448\u043a\u0443: Ethernet \u0444\u0440\u0435\u0439\u043c, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0431\u0430\u0439\u0442\u043e\u0432 (\u00ab\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432\u00bb) \u0438 \u0431\u0430\u0439\u0442\u043e\u0432 \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u043c\u0438 (Payload).<\/p>\n<p>  \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0432 \u0441\u0435\u0431\u0435 TCP\/IP \u043f\u0430\u043a\u0435\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u0442 \u0438\u0437 \u0431\u0430\u0439\u0442\u043e\u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u0410 \u044d\u0442\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0441\u043e\u0441\u0442\u043e\u044f\u0442 \u0438\u0437 HTTP-\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0438 \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u043e\u0436\u0438\u0434\u0430\u044e\u0449\u0438\u0445 \u0438 \u0443\u0441\u043f\u0435\u0432\u0448\u0438\u0445 \u0447\u0443\u0442\u044c \u043e\u0441\u0442\u044b\u0442\u044c HTML-\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 \u0438\/\u0438\u043b\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a.<\/p>\n<p>  \u0421\u043a\u0430\u0437 \u043f\u0440\u043e Ether\u0442et, \u0422\u0421\u0420 \u0438 IP \u2014 \u043c\u044b \u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u0441\u0435 \u044d\u0442\u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 W5100 \u0431\u0435\u0440\u0435\u0442 \u043d\u0430 \u0441\u0435\u0431\u044f, \u0441\u043d\u0438\u043c\u0430\u044f \u0441 \u043d\u0430\u0441 \u0433\u043e\u043b\u043e\u0432\u043d\u0443\u044e \u0431\u043e\u043b\u044c (\u0432\u043e\u0442 \u0432 \u0447\u0435\u043c \u0435\u0435 \u043f\u0440\u0435\u043b\u0435\u0441\u0442\u044c!) (\u044f \u0438\u043c\u0435\u044e \u0432 \u0432\u0438\u0434\u0443 \u043f\u0440\u0435\u043b\u0435\u0441\u0442\u044c W5100, \u043d\u0435 \u0433\u043e\u043b\u043e\u0432\u043d\u043e\u0439 \u0431\u043e\u043b\u0438).<\/p>\n<p>  \u0410 \u0432\u043e\u0442 \u043d\u0430 HTTP \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043a\u0430\u043f\u0435\u043b\u044c\u043a\u0443 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u0438\u043c \u0437\u0430\u0431\u0438\u0440\u0430\u0442\u044c \u0435\u0433\u043e \u0443 W5100 \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c (\u043a\u043e\u0433\u0434\u0430 \u0432\u0435\u0431-\u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443) \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 \u2014 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c W5100, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b (\u0441\u0435\u0440\u0432\u0435\u0440) \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0432\u0435\u0431-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443.<\/p>\n<p>  \u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435 \u043d\u044e\u0430\u043d\u0441\u044b HTTP \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c (\u043e\u0442\u0441\u044b\u043b\u0430\u044e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0445 \u043a HTTP\/1.1 <a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616.html\">RFC 2616<\/a>), \u0437\u0434\u0435\u0441\u044c \u0436\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0430\u043c\u043e\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0438 \u0442\u043e, \u0447\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043c \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 (\u043d\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u044e\u0437\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u0439 !) \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u0432\u0435\u0431-\u0441\u0430\u0439\u0442 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: <a href=\"http:\/\/opticaldt.us\">opticaldt.us<\/a> \u2014 \u043d\u0435 \u0440\u0435\u043a\u043b\u0430\u043c\u0430!) \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u0442 \u043d\u0430 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u0430\u0439\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441:<\/p>\n<p>  <code>GET http:\/\/opticaldt.us\/ HTTP\/1.1 Host: opticaldt.us Connection: keep-alive Cache-Control: max-age=0 Accept: text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,*\/*;q=0.8 User-Agent: Mozilla\/5.0 (Windows NT 5.1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/35.0.1916.153 Safari\/537.36 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8,ru;q=0.6<\/code><\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u044d\u0442\u0443 \u0441\u0442\u0440\u043e\u043a\u0443: GET <a href=\"http:\/\/opticaldt.us\">opticaldt.us<\/a><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u201c\u2026 us\/\u201d \u0438 \u0434\u043e \u201cHTTP\/1.1\u201d \u2014 \u043f\u0443\u0441\u0442\u043e. <br \/>  \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e, \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b index.html (\u0438\u043b\u0438 index.htm).<br \/>  \u0415\u0441\u043b\u0438 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0443\u0431\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b index.html, \u0442\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0435\u0433\u043e \u043e\u0442\u043a\u0440\u043e\u0435\u0442. \u0415\u0441\u043b\u0438 \u0436\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0435\u0442 (\u043b\u0438\u0431\u043e \u0432\u043e\u043e\u0431\u0449\u0435, \u0432\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b \u0441 \u043b\u044e\u0431\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c), \u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u0432\u0435\u0442\u0438\u0442 \u0432\u0430\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u043e\u0439 \u00aberror 404\u00bb (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043d\u0435 \u0438\u0437\u0432\u043e\u0437\u0434\u0443\u0445\u0430 \u2014 \u043e\u0442\u0434\u0430\u0442\u044c \u0435\u0435 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u2013 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0422\u043e \u0435\u0441\u0442\u044c \u0432\u043e\u0442 \u043f\u0440\u044f\u043c \u043b\u0438\u0447\u043d\u043e \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443).<\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430, \u043a\u043b\u0438\u0435\u043d\u0442 (\u0431\u0440\u0430\u0443\u0437\u0435\u0440) \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u043e \u0441\u0435\u0431\u0435 \u043c\u043d\u043e\u0433\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e\u0433\u043e \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e.<br \/>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c, \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0433\u043e \u043c\u044b \u043d\u0435 \u0441\u0442\u0430\u043d\u0435\u043c \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435 \u0441\u0442\u0430\u043d\u0435\u043c \u0432\u044b\u0442\u044f\u0433\u0438\u0432\u0430\u0442\u044c \u0438\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0432\u0441\u0435 \u0438\u043d\u0442\u0438\u043c\u043d\u044b\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e\u0433\u043e\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u044e\u0437\u0435\u0440\u0430 \u0447\u0435\u043c-\u0442\u043e \u0432\u0440\u043e\u0434\u0435: \u00ab\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u0432\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u0441 \u0442\u0430\u043a\u043e\u0433\u043e-\u0442\u043e ip, \u0436\u0438\u0432\u0435\u0442\u0435 \u043f\u043e \u0442\u0430\u043a\u043e\u043c\u0443-\u0442\u043e \u0430\u0434\u0440\u0435\u0441\u0443 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u0430\u0436\u0435, \u0445\u043e\u0442\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430 \u0432\u043e\u043e\u0431\u0449\u0435 \u0442\u043e \u043d\u0435 \u0432\u0430\u0448\u0430, \u0441\u0447\u0435\u0442 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0443 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 3 \u0434\u043d\u044f, \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c, \u0432\u0430\u0448\u0435\u0433\u043e \u043a\u043e\u0442\u0430 \u0424\u0435\u0434\u043e\u0440\u0430 \u043f\u043e\u0440\u0430 \u0431\u044b \u043f\u043e\u043a\u043e\u0440\u043c\u0438\u0442\u044c, \u0441 \u0442\u0430\u043a\u043e\u0439-\u0442\u043e \u0440\u0435\u0437\u043e\u043b\u044e\u0446\u0438\u0435\u0439 \u044d\u043a\u0440\u0430\u043d\u0430 \u0438 WindowsXP \u043d\u0435\u0433\u043e\u0436\u0435 \u0437\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u043d\u0430\u0448 \u0432\u043e\u0441\u0445\u0438\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043d\u043e\u0433\u043e \u043b\u0443\u0447\u0448\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0441\u044f \u0431\u044b, \u0431\u0443\u0434\u044c \u0443 \u0432\u0430\u0441 \u043d\u0435 Mozilla, a IE 11, \u0430\u0445 \u0434\u0430, \u0443 \u0432\u0430\u0441 \u0432\u0435\u0434\u044c \u0443\u043a\u0440\u0430\u0438\u043d\u0441\u043a\u0438\u0439 ip, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u00ab\u0437\u0434\u043e\u0440\u043e\u0432\u044d\u043d\u044c\u043a\u0438 \u0431\u0443\u043b\u044b\u00bb, \u0445\u043e\u0442\u044f \u043d\u0435\u0442, \u044d\u0442\u043e \u0436\u0435 \u0415\u0432\u043f\u0430\u0442\u043e\u0440\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u00ab\u0438 \u0441\u043d\u043e\u0432\u0430 \u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u0418 \u0442.\u0434. \u0438 \u0442.\u043f.), \u043d\u0430\u0441, \u043f\u0440\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043e\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u2013 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0435\u0435, \u043a\u0430\u043a \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0432 \u043d\u0430\u0440\u043e\u0434\u0435 \u00ab\u043f\u0440\u043e\u043f\u0430\u0440\u0441\u0438\u0442\u044c\u00bb, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0444\u0430\u0439\u043b \u043a\u043b\u0438\u0435\u043d\u0442 (\u0431\u0440\u0430\u0443\u0437\u0435\u0440) \u0436\u0435\u043b\u0430\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435, \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0442\u043e\u0431 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 (\u0442\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u043b\u044e\u0431\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430) \u043e\u0442\u0441\u044b\u043b\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.<br \/>  (\u0417\u0430\u0431\u0435\u0433\u0430\u044f \u0432\u043f\u0435\u0440\u0435\u0434, \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0432\u0441\u0435 \u0436\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u00ab\u0444\u0430\u0439\u043b\u00bb index.html \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044f\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e, \u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439, \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0438\u043d\u043e\u0435).<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0439 \u0432\u044b\u0448\u0435 \u0437\u0430\u043f\u0440\u043e\u0441, \u043f\u043e \u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u043c\u0443 \u0441\u0442\u0435\u0447\u0435\u043d\u0438\u044e \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b index.html, \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u0438\u0437 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 index.html:<\/p>\n<p>  <code>HTTP\/1.1 200 OK Date: Sun, 13 Jul 2014 21:32:49 GMT Server: Apache Accept-Ranges: bytes Vary: Accept-Encoding Content-Length: 185 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text\/html<\/code><\/p>\n<pre> &lt;html&gt;&lt;head&gt;&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text\/html; charset=Windows-1251&quot;&gt;&lt;title&gt;W5100 WebServer&lt;\/title&gt;&lt;\/head&gt;&lt;body&gt;&lt;center&gt;\u043d\u0443 \u0448\u043e,  &lt;b&gt; \u0445\u0435\u043b\u043b\u043e World ?!&lt;\/b&gt;&lt;\/center&gt;&lt;\/html&gt; <\/pre>\n<p>  \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 (\u00ab\u2026 200 \u041e\u041a..\u00bb) \u0441\u0435\u0440\u0432\u0435\u0440 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442, \u0447\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0435\u0440\u043d\u044b\u0439 (\u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b \u0438\u043c\u0435\u0435\u0442\u0441\u044f).<br \/>  \u0412 \u0441\u0442\u0440\u043e\u043a\u0435 \u00abContent-Length: 185\u00bb \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c \u0431\u0440\u0430\u0443\u0437\u0435\u0440) \u043e \u0434\u043b\u0438\u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 (\u0442\u043e\u0447\u043d\u0435\u0435 \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043e \u0434\u043b\u0438\u043d\u0435 <b>\u0432\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b<\/b>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0434\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432).<\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043d\u0435\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c, \u043d\u0430\u043c (\u0441\u0435\u0440\u0432\u0435\u0440\u0443) \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043e\u0442\u0432\u0435\u0442 (\u043f\u043e\u043c\u0438\u043c\u043e HTML \u0444\u0430\u0439\u043b\u0430) \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u0442\u0440\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 HTTP:<\/p>\n<p>  HTTP\/1.1 200 OK<br \/>  Content-Type: text\/html ( \u0435\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e, \u0430 \u043d\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443).<br \/>  Content-Length: (\u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0435\u043c \u043f\u043e\u0442\u043e\u043c)<\/p>\n<p>  \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b \u0432\u0435\u0441\u044c\u043c\u0430 \u043b\u0438\u0431\u0435\u0440\u0430\u043b\u044c\u043d\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0438 \u0442\u0440\u0435\u0442\u044c\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u0447\u0442\u043e \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u0434\u0430\u0447\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u00ab\u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\u00bb, \u043c\u044b \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043b\u0438\u0435\u043d\u0442 ( \u0431\u0440\u0430\u0443\u0437\u0435\u0440) \u0438 \u0442\u0430\u043a \u0434\u043e\u0433\u0430\u0434\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043e\u043d \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0432\u0441\u0435.<\/p>\n<p>  \u041d\u043e\u2026 \u0415\u0441\u043b\u0438 \u0412\u0430\u0448\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0431\u0443\u0434\u0435\u0442 \u0434\u043b\u0438\u043d\u043d\u043e\u0439, \u0438\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u043f\u043e\u0441\u044b\u043b\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0438 \u0442.\u043f. \u2014 \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (Content-Length).<\/p>\n<h4>\u0421\u043e\u0432\u0441\u0435\u043c \u0447\u0443\u0442\u044c \u0447\u0443\u0442\u044c \u043e TCP\/IP<\/h4>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u0438\u0441\u0430\u043b \u0432\u044b\u0448\u0435, \u0447\u0442\u043e W5100 \u0434\u0435\u043b\u0430\u0435\u0442 \u0437\u0430 \u043d\u0430\u0441 \u0432\u0441\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 Ethernet \u0438 TCP\/IP, \u044f \u0447\u0443\u0442\u044c \u043f\u0440\u0438\u0443\u043a\u0440\u0430\u0441\u0438\u043b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c. \u041a\u043e\u0435-\u0447\u0442\u043e (\u0441\u043e\u0432\u0441\u0435\u043c \u043a\u0430\u043f\u0435\u043b\u044c\u043a\u0443) \u043d\u0430\u043c \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0430\u043c\u0438\u043c. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e: \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u0435\u0433\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>  \u041a\u043e\u0440\u043e\u0442\u043a\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u043a\u043b\u0438\u0435\u043d\u0442 \u043e\u0431\u0449\u0430\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043a\u043e\u0439 \u0434\u0440\u0443\u0433-\u0434\u0440\u0443\u0433\u0443 IP \u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u00ab\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435\u00bb \u0434\u0430\u043d\u043d\u044b\u0435 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u2013 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0430), \u0430 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0447\u0438\u0441\u0442\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u043c\u0438, \u0431\u0435\u0437 \u00ab\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445\u00bb \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u041e\u0442\u043a\u0440\u043e\u0435\u043c \u0434\u0430\u0442\u0430\u0448\u0438\u0442 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b W5100 (\u0434\u0430-\u0434\u0430, \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u0436\u0435 \u043f\u043e\u0440\u0430) \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043e\u0431\u0449\u0430\u044e\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442 (\u0431\u0440\u0430\u0443\u0437\u0435\u0440) \u0438 W5100 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/f8b\/b3c\/b49\/f8bb3cb491de42069e8cc8dfb57bd193.jpg\" alt=\"image\"\/><\/p>\n<p>  \u0412\u043d\u0430\u0447\u0430\u043b\u0435 W5100 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 OPEN \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\/\u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u043e\u043a\u0435\u0442 (\u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435) \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c \u00ab\u0441\u043b\u0443\u0448\u0430\u043d\u0438\u044f\u00bb (LISTEN), \u0434\u043e\u0436\u0438\u0434\u0430\u044f\u0441\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 (\u0442.\u0435. \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430).<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442, \u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0441\u0435\u0440\u0432\u0435\u0440 (W5100) \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c ESTABLISHED \u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 <b>\u043e\u0431\u043c\u0435\u043d \u0434\u0430\u043d\u043d\u044b\u043c\u0438<\/b>. <\/p>\n<p>  <i>\u041d\u0430 \u0437\u0430\u043c\u0435\u0442\u043a\u0443: \u043f\u043e \u0443\u0441\u0442\u0430\u0432\u0443, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 IP \u043f\u0430\u043a\u0435\u0442\u0435 \u2013 1500 \u0431\u0430\u0439\u0442. \u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u0438\u043d \u043f\u0430\u043a\u0435\u0442 (\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 HTML \u043a\u043e\u0434\u0430, \u0438\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0438\u0442\u043f) \u2013 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u043e\u0440\u0446\u0438\u0438 \u043c\u0435\u043d\u0435\u0435 1500 \u0431\u0430\u0439\u0442 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0438\u0445 \u043e\u0434\u043d\u0443 \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u0439.<\/i><\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435, \u043a\u043e\u0433\u0434\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0432\u044b\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u0434\u0440\u0443\u0433-\u0434\u0440\u0443\u0433\u0443 \u0432\u0441\u0435, \u0447\u0442\u043e \u0432 \u0434\u0443\u0448\u0435 \u043d\u0430\u0433\u043e\u0440\u0435\u043b\u043e, \u043a\u0442\u043e-\u0442\u043e \u0438\u0437 \u043d\u0438\u0445 (\u043a\u0430\u043a \u0438 \u0432 \u0436\u0438\u0437\u043d\u0438) \u043f\u0435\u0440\u0432\u044b\u043c \u00ab\u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0442\u0440\u0443\u0431\u043a\u0443\u00bb, \u043f\u043e\u0441\u044b\u043b\u0430\u044f \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0430\u0437\u044c\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 (Disconnect Request).<\/p>\n<p>  <i>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0437\u044c\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0441\u043b\u0435 (\u043f\u043e\u043b\u043d\u043e\u0439) \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 \u0432\u0430\u0441 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0439 \u043a\u0430\u043d\u0430\u043b, \u0438\u043b\u0438 \u043f\u043e\u0448\u043b\u0438 \u043f\u043e\u043c\u0435\u0445\u0438, \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0443\u0441\u0442\u0430\u043b \u0436\u0434\u0430\u0442\u044c \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u043b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u0441\u0432\u043e\u0435\u043c\u0443 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0443. \u041b\u0438\u0431\u043e \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0437\u0430\u043b\u0430\u0434\u0438\u043b\u043e\u0441\u044c \u0443 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043e\u043d \u0440\u0435\u0448\u0438\u043b \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432 \u0441\u0430\u043c\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435. \u041d\u0443, \u0432 \u043e\u0431\u0449\u0435\u043c, \u0432\u0441\u044f\u043a\u043e\u0435 \u0432\u0435\u0434\u044c \u0432 \u0436\u0438\u0437\u043d\u0438 \u0431\u044b\u0432\u0430\u0435\u0442. <\/i><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0440\u0430\u0437\u043e\u0440\u0432\u0430\u043d\u0430, \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u0441\u043e\u043a\u0435\u0442\u0430) \u2014 CLOSED (\u043d\u0435, \u043d\u0443 \u0432\u0441\u0435, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u2013 \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e\/\u043e\u0442\u043e\u0441\u043b\u0430\u043d\u043e, \u0447\u0435 \u0435\u0449\u0435 \u0436\u0434\u0430\u0442\u044c \u0442\u043e?).<\/p>\n<p>  \u0412\u0441\u0435.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043a \u043c\u0438\u043c\u043e\u043b\u0435\u0442\u043d\u044b\u0445 \u0441\u0432\u044f\u0437\u0435\u0439 \u0438\/\u0438\u043b\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0430 \u0412\u0430\u043c \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u0441 \u043b\u0438\u0445\u0432\u043e\u0439 \u2013 \u043d\u0430 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f.<br \/>  \u0415\u0441\u043b\u0438 \u0436\u0435 \u0432\u044b \u043e\u043f\u0442\u0438\u043c\u0438\u0441\u0442 \u043f\u043e \u0436\u0438\u0437\u043d\u0438 ( \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u0439) \u0438 \u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443, \u0432\u043f\u043e\u043b\u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0431\u0443\u0434\u0443\u0442 \u0435\u0449\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f, \u0438 \u043d\u0435 \u0440\u0430\u0437 \u2014 \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043a \u0448\u0430\u0433\u0443 \u201cOPEN\u201d \u0438 \u0434\u0430\u043b\u0435\u0435 \u2014 \u043f\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435. (\u041f\u043e\u0440\u044f\u0434\u043e\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043e\u0431\u044b\u0447\u043d\u043e \u0442\u0430\u043a \u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442). \u0425\u043e\u0442\u044f\u2026 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0434\u0435\u0448\u0435\u0432\u044b\u0435 \u043f\u043b\u0430\u0441\u0442\u0438\u043a\u043e\u0432\u044b\u0435 \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430? \u0422\u0438\u043f\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b 1 \u0440\u0430\u0437 \u2013 \u0438 \u0432\u044b\u0431\u0440\u043e\u0441\u0438\u043b?<\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0438 \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e ( \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f W5100 ), \u043d\u043e \u044f \u0432\u0441\u0435 \u0436\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u043e\u0431\u043c\u0435\u043d\u0435 \u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0438 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u043c\u0435\u043d\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0432 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0435\u043c\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u0430\u0445 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0444\u043b\u0430\u0433\u0438, \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0438\u0435 \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438 \u043a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0436\u0438\u0442\u044c. <\/p>\n<p>  \u0412\u043e\u0437\u044c\u043c\u0435\u043c \u0441\u0430\u043c\u044b\u0439 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 IP \u0441\u0442\u0435\u043a:<\/p>\n<p>  <i>\u041f\u0443\u0441\u0442\u044c \u043d\u0435 \u0438\u0441\u043f\u0443\u0433\u0430\u0435\u0442 \u043d\u0438\u043a\u043e\u0433\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u00ab\u0441\u0442\u0435\u043a\u00bb, \u043a\u043e\u043b\u0434\u0443\u043d\u044b \u0438 \u043c\u0430\u0433\u0438 \u043e\u0442 IBM-360 \u0438 AS-400 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0442 \u0437\u0430\u0443\u043c\u043d\u044b\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0430\u0432\u0438\u0442\u044c \u0443 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0441\u043c\u0435\u0440\u0442\u043d\u044b\u0445 \u0432\u0441\u044f\u043a\u043e\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u043e\u0442\u0440\u043e\u0433\u0430\u0442\u044c \u043d\u0435\u043c\u044b\u0442\u044b\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0438\u0445 \u0425\u0440\u0430\u043c. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u0444\u043e\u0440\u043c\u0430\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u043e \u043a\u0430\u043a\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u0438 \u0432 \u043a\u0430\u043a\u043e\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u043f\u043e\u043b\u044f \u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0435. (\u0416\u0432\u0430\u043d\u0435\u0446\u043a\u0438\u0439: \u00ab\u2026 \u0438 \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u0433\u0430\u0440\u044b \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043d\u044f\u0442\u044c \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u0447\u0442\u043e \u00ab\u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043f\u043e\u0433\u043e\u0434\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u00bb \u2014 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0436\u0434\u044c!\u00bb)<\/i><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/d21\/cab\/d4a\/d21cabd4ac0343649bde7c0c51bc1a32.jpg\" alt=\"image\"\/><\/p>\n<p>  \u041d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0442 \u0442\u0440\u0438 \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u0431\u0438\u0442\u0430 \u0432 \u0441\u0435\u0434\u044c\u043c\u043e\u043c \u0431\u0430\u0439\u0442\u0435: \u0424\u041b\u0410\u0413\u0418.<\/p>\n<p>  \u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f\u043c\u0438 \u044d\u0442\u0438\u0445 \u0442\u0440\u0435\u0445 \u0431\u0438\u0442\u043e\u0432 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0444\u043b\u0430\u0433\u0438: FIN, SYN, RST, PSH, ACK, URG.<\/p>\n<p>  FIN \u2014 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0435 \u0441\u0435\u0441\u0441\u0438\u0438;<br \/>  SYN \u2014 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f;<br \/>  RST \u2014 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f (\u043e\u0431\u044b\u0447\u043d\u043e \u2013 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0443);<br \/>  ACK \u2014 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f ( \u043f\u0430\u043a\u0435\u0442\u0430);<br \/>  PSH \u2014 \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u043d\u043e \u2014 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0439 \u0432\u044b\u0441\u044b\u043b\u043a\u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f;<br \/>  URG \u2014 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043d\u0430 \u0430\u0440\u0445\u0438\u0441\u0440\u043e\u0447\u043d\u043e\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u043e (\u0447\u0442\u043e \u043f\u043e\u0445\u0432\u0430\u043b\u044c\u043d\u043e \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e), \u043a\u0430\u043a \u0436\u0435 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0431\u043c\u0435\u043d \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438 \u0438 \u043a\u0430\u043a\u0438\u0435 \u0444\u043b\u0430\u0433\u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438 \u0432 \u043a\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u0430 \u043a\u043e \u0432\u0441\u0435\u043c\u0443 \u0435\u0449\u0435 \u2014 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 (\u0445\u043e\u0440\u043e\u0448\u043e, \u0445\u043e\u0440\u043e\u0448\u043e, \u2014 \u00ab\u0441\u0442\u0435\u043a\u0430\u00bb) \u2013 \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u044d\u0442\u043e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 W5100 \u0431\u0435\u0440\u0435\u0442 \u0432\u0441\u044e \u0437\u0430\u0431\u043e\u0442\u0443 \u043e \u043f\u0430\u043a\u0435\u0442\u0430\u0445 \u0438 \u0444\u043b\u0430\u0433\u0430\u0445 \u043d\u0430 \u0441\u0435\u0431\u044f, \u043c\u044b \u0436\u0435 \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 \u0443\u0436\u0435 \u0441\u0432\u0435\u0440\u0448\u0438\u0432\u0448\u0438\u043c\u0441\u044f \u0444\u0430\u043a\u0442\u043e\u043c \u2013 \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 (OPEN, LISTEN, ESTABLISHED, CLOSED).<\/p>\n<h4>\u041a\u0440\u0430\u0442\u043a\u043e\u0435, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 W5100<\/h4>\n<p>  \u0427\u0442\u043e \u0436, \u0434\u0430\u043b\u0435\u0435 \u043e\u0442\u0442\u044f\u0433\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c, \u043f\u043e\u0440\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c W5100 \u0441 \u0436\u0435\u043b\u0435\u0437\u043d\u043e\u0439 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/d42\/b46\/2ee\/d42b462ee17d40f89b2548588ed909ef.jpg\" alt=\"image\"\/><\/p>\n<p>  W5100 \u0441 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a Ethernet \u043a\u043e\u043d\u043d\u0435\u043a\u0442\u043e\u0440\u0443 (\u0447\u0435\u0440\u0435\u0437 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0440 \u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u0443\u044e\u0449\u0438\u0435 \u0446\u0435\u043f\u0438), \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u2013 \u0441 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443.<br \/>  \u041a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c (\u043f\u043e \u0432\u043a\u0443\u0441\u0443 \u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438) \u043b\u0438\u0431\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0448\u0438\u043d \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043b\u0438\u0431\u043e \u0447\u0435\u0440\u0435\u0437 SPI \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. <br \/>  \u041a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0447\u0438\u043f \u2013 \u044f \u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u0442\u0430\u043d\u0443, \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0441\u0445\u0435\u043c \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u043d\u043e \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. \u0422\u0435\u043c \u0431\u043e\u043b\u0435\u0435 (\u043b\u0430\u0434\u043d\u043e, \u0440\u0430\u0441\u043a\u0440\u043e\u044e \u0441\u0435\u043a\u0440\u0435\u0442), \u0447\u0442\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0443 \u0441 \u044d\u0442\u0438\u043c \u0447\u0438\u043f\u043e\u043c.<\/p>\n<p>  \u0427\u0438\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 Ethernet PHY \u0438 \u041c\u0410\u0421, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432 \u0436\u0435\u043b\u0435\u0437\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 Ethernet \u0444\u0440\u0435\u0439\u043c\u043e\u0432 \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u0433\u0440\u0443\u043f\u043f\u044b IP, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u043e 4 \u0441\u043e\u043a\u0435\u0442\u043e\u0432 (\u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439) \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 RX \u0438 \u0422\u0425 \u0431\u0443\u0444\u0435\u0440\u044b \u043f\u043e 8\u041a\u0431\u0430\u0439\u0442 \u043f\u0430\u043c\u044f\u0442\u0438 \u043a\u0430\u0436\u0434\u044b\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u0436\u0434\u044b\u043c \u0441\u043e\u043a\u0435\u0442\u043e\u043c \u043f\u043e-\u0431\u0440\u0430\u0442\u0441\u043a\u0438 \u0438\u043b\u0438 \u043f\u043e \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u0435\u043b\u0438\u0432\u043e\u0441\u0442\u0438 (\u0438\u043b\u0438 \u043f\u043e\u0440\u043e\u0432\u043d\u0443), \u0432\u044b\u0434\u0435\u043b\u044f\u044f 1,2,4 \u0438\u043b\u0438 8 \u041a\u0411 \u043d\u0430 \u0441\u043e\u043a\u0435\u0442 (\u043d\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u044f, \u0447\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u0441\u0435\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430 \u2013 8\u041a\u0411 \u043d\u0430 \u043f\u0440\u0438\u0435\u043c \u0438 8\u041a\u0411 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443).<\/p>\n<p>  \u0420\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/b3c\/643\/9dc\/b3c6439dc10c485cbda5657c2ec1e7bb.jpg\" alt=\"image\"\/><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u0440\u0438\u0441\u0443\u043d\u043a\u0430:<\/p>\n<p>  \u0441 \u0430\u0434\u0440\u0435\u0441\u0430 0\u04450000 \u043f\u043e \u0430\u0434\u0440\u0435\u0441 0\u0445002F \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u044b \u043e\u0431\u0449\u0438\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, <br \/>  \u0441 \u0430\u0434\u0440\u0435\u0441\u0430 0\u04450400 \u043f\u043e \u0430\u0434\u0440\u0435\u0441 0\u044507FF \u2013 4 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u2013 \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043e\u043a\u0435\u0442, <br \/>  \u0441 \u0430\u0434\u0440\u0435\u0441\u0430 0\u04454000 \u043f\u043e \u0430\u0434\u0440\u0435\u0441 0\u04455FFF \u2014 \u0431\u0443\u0444\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 ( 8\u041a\u0411), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438 \u043f\u043e \u0432\u0430\u0448\u0435\u043c\u0443 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044e, <br \/>  \u0441 \u0430\u0434\u0440\u0435\u0441\u0430 0\u04456000 \u043f\u043e \u0430\u0434\u0440\u0435\u0441 0\u04457FFF \u2014 \u0431\u0443\u0444\u0435\u0440 \u043f\u0440\u0438\u0435\u043c\u0430 ( 8\u041a\u0411), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438 \u043f\u043e \u0432\u0430\u0448\u0435\u043c\u0443 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044e.<\/p>\n<p>  \u0412\u0441\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u2013 8 \u0431\u0438\u0442\u043d\u044b\u0435. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u043d\u043e \u0438 \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u043f\u0438\u0441\u0430\u0442\u044c.<\/p>\n<p>  \u041c\u044b \u043d\u0435 \u0441\u0442\u0430\u043d\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u043d\u0430\u043c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043e\u0434\u043d\u0430\u043a\u043e, \u0412\u044b \u043b\u0435\u0433\u043a\u043e \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u043e\u0431\u0449\u0443\u044e \u0438\u0434\u0435\u044e \u0438 \u0434\u0430\u043b\u0435\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u044c \u0435\u0435 \u043f\u043e\u0434 \u0441\u0432\u043e\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<p>  <i>\u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442: \u0432 W5100 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0430\u0439\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043d\u0430\u0440\u043e\u0434\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u00ab\u0431\u0438\u0433 \u044d\u043d\u0434\u0438\u044d\u043d\u00bb \u0438\u043b\u0438 \u00ab\u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u043e\u0440\u044f\u0434\u043e\u043a\u00bb. \u0413\u043b\u0443\u0431\u043e\u043a\u0438\u0439 \u0436\u0435 \u043d\u0430\u0443\u0447\u043d\u044b\u0439 \u0441\u043c\u044b\u0441\u043b \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 (\u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f) \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0438\u0442 \u0441\u0442\u0430\u0440\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u2013 \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0438\u0442 \u043c\u043b\u0430\u0434\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 4 \u0431\u0430\u0439\u0442 \u0430\u0439-\u043f\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0412\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0441\u043a\u0430\u0436\u0435\u043c 192.168.0.155) \u0432 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b Source IP Address 0x000F \u2026 0x0012 (SIPR0 \u2026 SIPR3), \u0412\u0430\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u00ab192\u00bb \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 SIPR0, \u00ab168\u00bb \u2014 \u0432 SIPR1, \u00ab0\u00bb \u2014 \u0432 SIPR2 \u0438 \u00ab155\u00bb \u2014 \u0432 SIPR3.<\/i><\/p>\n<h4>\u041e\u0431\u0449\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b<\/h4>\n<p>  (\u041e\u0431\u0449\u0438\u0435 \u2013 \u0437\u043d\u0430\u0447\u0438\u0442 \u0432\u043b\u0438\u044f\u044e\u0442 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0432\u0441\u0435\u0433\u043e \u0447\u0438\u043f\u0430 \u0438 \u0432\u0441\u0435\u0445 \u0441\u043e\u043a\u0435\u0442\u043e\u0432, \u0442\u043e\u0435\u0441\u0442\u044c <b>\u043d\u0435 <\/b>\u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a <b>\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 <\/b>\u0441\u043e\u043a\u0435\u0442\u0443).<\/p>\n<p>  0\u04450000 MR \u2014 Mode \u2013 \u0442\u0443\u0442 \u0432\u0441\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u2013 \u0447\u0435\u0440\u0435\u0437 \u043d\u0438\u0445 \u043c\u044b \u0437\u0430\u0434\u0430\u0435\u043c \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b;<br \/>  0\u04450001 ..0x0004 GAR0..3 \u2014 Gateway Address (\u043d\u0430\u043f\u0440. 192.168.0.254 );<br \/>  0\u04450005\u2026 0\u04450008 SUBR0..3 \u2014 Subnet mask Address (\u043d\u0430\u043f\u0440. 255.255.255.0);<br \/>  0x0009..0x000E SHAR0..5 \u2014 Source Hardware Address <br \/>  ( \u043f\u0440\u043e\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f \u2013 \u041c\u0410\u0421 \u0430\u0434\u0440\u0435\u0441, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 0A 1B 2C 3D 4E 5F).<br \/>  (\u0435\u0441\u043b\u0438 \u0412\u044b \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044c \u043d\u0430\u0432\u043e\u0434\u043d\u0438\u0442\u044c \u0440\u044b\u043d\u043e\u043a \u0412\u0430\u0448\u0438\u043c\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u043c\u0438, \u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u041c\u0410\u0421, \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u0447\u0442\u043e\u0431\u044b \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u041c\u0410\u0421 \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u2013 \u043d\u0430\u043c \u0432\u0435\u0434\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u044b, \u0432\u0435\u0440\u043d\u043e?)<\/p>\n<p>  0x000F\u2026 0x0012 SIPR0..3 \u2013 Source IP Address \u2013 \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: 192.168.0.155;<br \/>  0\u0445001\u0410 \u2014 RMSR \u2013 RX Memory Size \u2014 \u0437\u0434\u0435\u0441\u044c \u0412\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0431\u0443\u0444\u0435\u0440\u0430 \u043f\u0440\u0438\u0435\u043c\u0430 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043e\u043a\u0435\u0442;<br \/>  0\u0445001\u0412 \u2014 \u0422MSR \u2013 \u0422X Memory Size \u2014 \u0437\u0434\u0435\u0441\u044c \u0412\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0431\u0443\u0444\u0435\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043e\u043a\u0435\u0442;<\/p>\n<h4>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0441\u043e\u043a\u0435\u0442\u043e\u0432<\/h4>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u043e\u0434\u043d\u0438\u043c \u0441\u043e\u043a\u0435\u0442\u043e\u043c \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0442\u0435\u043c\u0438 \u0435\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u044b \u0434\u043b\u044f TCP\/IP \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043b\u0438\u0448\u044c \u044d\u0442\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b:<\/p>\n<p>  0\u04450400 S0_MR \u2014 Socket0 Mode Register \u2014 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u043e\u043a\u0435\u0442\u0430;<br \/>  0\u04450401 S0_CR \u2014 Socket0 Command Register\u2013 \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f;<br \/>  0\u04450403 S0_SR \u2013 Socket0 Status Register \u2014 \u043e\u0442\u0441\u044e\u0434\u0430 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u0442\u0430\u0442\u0443\u0441\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e;<br \/>  0\u04450404, 0\u04450405 S0_PORT0, S0_PORT1 \u2014 Socket0 Source Port \u2014 \u043f\u043e\u0440\u0442, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440 (\u0435\u0441\u043b\u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0435\u0435 \u2013 \u043f\u043e\u0440\u0442 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043d\u0430\u043c\u0438 \u0441\u043e\u043a\u0435\u0442). <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u043e-\u0447\u0435\u0441\u0442\u043d\u043e\u043c\u0443, \u0442\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u044f\u0441\u044c \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443, \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u0438 \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u0438 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430 (\u0430 \u0442\u0430\u043a\u0436\u0435 \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a \u043d\u0435\u043c\u0443).<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0444\u0430\u0439\u043b index.html, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0439\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0441 \u0430\u0434\u0440\u0435\u0441\u043e\u043c 192.168.0.155 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a \u0441\u043e\u043a\u0435\u0442\u0443 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0440\u0442 123, \u0442\u043e \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 URL \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435) \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c: <\/p>\n<p>  <a href=\"http:\/\/192.168.0.155\">192.168.0.155<\/a>:123\/index.html <i>(\u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0436\u0438\u043c\u0430\u0439\u0442\u0435 Enter).<\/i><\/p>\n<p>  \u041d\u043e\u2026 \u0414\u043b\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0432\u0438\u0434\u0430 \u00abhttp:\/\/\u2026 \u00bb (\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 HTTP) \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e\u0440\u0442 80. <br \/>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u043c \u0434\u043b\u044f Socket0 Source Port \u043f\u043e\u0440\u0442 \u043d\u043e\u043c\u0435\u0440 80, \u0442\u043e \u043c\u043e\u0436\u0435\u043c \u043d\u0435 \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443, \u0435\u0441\u043b\u0438 \u043f\u043e\u0440\u0442 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d, \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043a \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 URL \u0432\u0438\u0434\u0430 <a href=\"http:\/\/192.168.0.155\/index.html\">192.168.0.155\/index.html<\/a> \u0432\u043f\u043e\u043b\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a. (\u0413\u043e\u0432\u043e\u0440\u044f \u0431\u043e\u043b\u0435\u0435 \u043e\u0431\u043e\u0431\u0449\u0435\u043d\u043d\u043e \u2014 \u044d\u0442\u043e \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u0430 <br \/>  \u2013 \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0445 \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443, \u043a\u043b\u0438\u0435\u043d\u0442 \u0438\u0434\u0435\u0442 \u043f\u043e \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443: 80 \u0434\u043b\u044f HTTP, 23 \u0434\u043b\u044f Telnet \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435).<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043b\u0438 \u0440\u0430\u043d\u0435\u0435, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430, \u0442\u043e \u043e\u0431\u0435\u0438\u043c\u0438 \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c\u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e \u0444\u0430\u0439\u043b\u0435 index.html (\u0438\u043b\u0438 index.htm) (\u0438\u043b\u0438 index.php). \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0443\u043a\u0430\u0437\u0430\u0432 \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430: <a href=\"http:\/\/192.168.0.155\">192.168.0.155<\/a>, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0435\u0440\u043d\u044b\u0439 \u043e\u0442\u043a\u043b\u0438\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u043a\u043b\u0438\u0435\u043d\u0442 \u043d\u0430 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0443 \u043d\u0430\u0441 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430, \u0442\u043e \u043c\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u043e\u043d \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0444\u0430\u0439\u043b index ) (\u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043b\u0438\u0435\u043d\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043b \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0441\u0442\u0435\u0441\u043d\u044f\u0435\u043c\u0441\u044f \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u043c \u0438 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u2013 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u043a\u043e\u0442\u0438\u043a\u0430\u043c\u0438, \u0438\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0438 \u0442.\u043f.) \u0442\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u043a\u043e\u043c\u0438\u043b\u044c\u0444\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0434\u0430\u0442\u044c \u0435\u043c\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u00ab\u043e\u0448\u0438\u0431\u043a\u0430 404\u00bb).<\/p>\n<p>  \u041d\u0443 \u0438 \u0447\u0442\u043e\u0431 \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0436 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u0432\u0432\u043e\u0434 \u0430\u0434\u0440\u0435\u0441\u0430 \u2014 \u0435\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u0438\u043f \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430, \u0442\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e HTTP (\u0435\u0441\u043b\u0438, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u2013 \u043d\u0435 IE \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u044e\u0431\u0438\u0442 \u043f\u043e\u0432\u044b\u2026 \u041e\u043a, \u043d\u0435 \u0432\u0430\u0436\u043d\u043e, \u0437\u0430\u0431\u044b\u043b\u0438).<\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 192.168.0.155 \u2014 \u0432\u0441\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043f\u043e\u0439\u043c\u0443\u0442, \u0447\u0442\u043e \u0440\u0435\u0447\u044c \u0438\u0434\u0435\u0442 \u043e <a href=\"http:\/\/192.168.0.155\">192.168.0.155<\/a>:80\/index.html<\/p>\n<p>  \u0417\u043d\u0430\u0447\u0438\u0442, \u0440\u0435\u0448\u0435\u043d\u043e, \u0434\u0430? \u0417\u0430\u0434\u0430\u0434\u0438\u043c \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0440\u0442\u0430 \u0441\u043e\u043a\u0435\u0442\u0430 \u2013 80.<br \/>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e \u00ab\u0431\u0438\u0433 \u2013 \u044d\u043d\u0434\u0438\u044d\u043d\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 80 (\u0442\u043e\u0447\u043d\u0435\u0435 \u2013 0080) \u0437\u0430\u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0442\u0430\u043a: S0_PORT0 = 00, S0_PORT1 = 80 (\u0434\u0430, \u0438 \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u2013 \u044d\u0442\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u0435 \u00ab80\u00bb, \u0430 \u043d\u0435 \u0445\u0435\u043a\u0441\u0430).<\/p>\n<p>  0\u04450420, 0\u04450421 S0_TX_FSR0, S0_TX_FSR1 \u2014 Socket0 TX Free Size \u2013 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0421\u043e\u043a\u0435\u0442\u0430 0;<br \/>  0\u04450422, 0\u04450423 S0_TX_RD0, S0_TX_RD1 \u2014 Socket0 TX Read Pointer (* \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u0435\u043d\u0438\u0435) \u2013 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 (\u0434\u0430\u043d\u043d\u044b\u0435) \u043c\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u043f\u043e\u0441\u043b\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0443. <\/p>\n<p>  <i>\u0422\u0443\u0442 \u0435\u0441\u0442\u044c \u0445\u0438\u0442\u0440\u0430\u044f \u0444\u0438\u0448\u043a\u0430 ( Wiznet \u0440\u0435\u0448\u0438\u043b\u0430 \u043f\u043e\u0434\u0433\u043e\u0440\u0447\u0438\u0442\u044c \u043a\u0430\u043d\u0444\u044d\u0442\u043a\u0443): \u0435\u0441\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b \u043f\u0440\u043e\u0447\u043b\u0438 Socket0 TX Read Pointer, \u0438 \u043e\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 0\u04454200, \u0442\u043e\u2026 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u2014 \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430. \u0410\u0433\u0430, \u0430\u0433\u0430\u2026 (\u00ab\u0435\u0441\u043b\u0438 \u0436\u0435\u043d\u0449\u0438\u043d\u0430 \u0437\u0430 \u0440\u0443\u043b\u0435\u043c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043b\u0435\u0432\u044b\u0439 \u043f\u043e\u0432\u043e\u0440\u043e\u0442 \u2013 \u044d\u0442\u043e \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d\u0430 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0435\u0445\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e!\u00bb (\u0441)). \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435.<\/i><\/p>\n<p>  0\u04450424, 0\u04450425 S0_TX_WR0, S0_TX_WR1 \u2014 Socket0 TX Write Pointer \u2013 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043d\u0430 <b>\u043a\u043e\u043d\u0435\u0446 <\/b>\u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 (\u0434\u0430\u043d\u043d\u044b\u0435) \u043c\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u043f\u043e\u0441\u043b\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0443. <\/p>\n<p>  \u0422\u0443\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e (\u0441\u043d\u043e\u0432\u0430) \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0430\u0436\u043d\u043e\u0435 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435.<br \/>  \u0414\u0432\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 <b>\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 <\/b>\u0430\u0434\u0440\u0435\u0441\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u0431\u043b\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443. \u042d\u0442\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u0441\u0430\u043c\u0438.<\/p>\n<p>  \u0415\u0449\u0435 \u043e\u0434\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0412\u044b \u0432\u044b\u0434\u0435\u043b\u0438\u043b\u0438 \u043d\u0430 \u0431\u0443\u0444\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 2\u041a\u0411. \u0412\u044b \u043f\u0440\u043e\u0447\u043b\u0438 Socket0 TX Read Pointer \u0438 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043e\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 10 \u0431\u0430\u0439\u0442 \u0431\u0443\u0444\u0435\u0440\u0430. \u0410 \u0412\u044b \u0432\u043e\u043e\u0431\u0449\u0435 \u0442\u043e \u043d\u0430\u043c\u0435\u0440\u0435\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c (\u0442.\u0435. \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440) 1000 \u0431\u0430\u0439\u0442. \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c?<br \/>  \u0412\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e: \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0432 \u044d\u0442\u0438 10 \u0431\u0430\u0439\u0442, \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u0435 \u0432 \u0441\u0430\u043c\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u0431\u0443\u0444\u0435\u0440\u0430 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043b\u044c\u0448\u0435 (\u0442\u043e\u0435\u0441\u0442\u044c \u0438\u0437 1000 \u0431\u0430\u0439\u0442 \u0412\u0430\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, 10 \u0431\u0430\u0439\u0442 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u044f\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u0443\u0444\u0435\u0440\u0430, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0440\u0446\u0438\u044f \u0432 990 \u0431\u0430\u0439\u0442 \u2013 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0431\u0443\u0444\u0435\u0440\u0430). <br \/>  W5100 \u0437\u043d\u0430\u0435\u0442 \u043e\u0431 \u044d\u0442\u043e\u043c \u0431\u0435\u0437\u043e\u0431\u0440\u0430\u0437\u0438\u0438 ( \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043e\u043d \u0438\u0445 \u0438 \u043d\u0430\u043c\u0443\u0442\u0438\u043b) \u0438 \u043f\u043e\u0442\u043e\u043c\u0443, \u0434\u043e\u0439\u0434\u044f \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u2013 \u0441\u0430\u043c \u043f\u0435\u0440\u0435\u0441\u043a\u043e\u0447\u0438\u0442 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0431\u0443\u0444\u0435\u0440\u0430 \u0438 \u0442\u0435\u0440\u043f\u0435\u043b\u0438\u0432\u043e \u0434\u043e\u0447\u0438\u0442\u0430\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0448\u0443\u044e\u0441\u044f \u043f\u043e\u0440\u0446\u0438\u044e.<\/p>\n<p>  \u041d\u0443 \u0430 \u0441\u0435\u0439\u0447\u0430\u0441 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0441 \u044d\u0442\u043e\u0439 \u043c\u0443\u0442\u043e\u0442\u0435\u043d\u044c\u044e \u2014 \u043a\u0430\u043a \u0438\u0437 \u043f\u043e\u0439\u043d\u0442\u0435\u0440\u043e\u0432, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445, \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c <b>\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 <\/b>\u0430\u0434\u0440\u0435\u0441\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0412\u0430\u043c \u0438 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438.<\/p>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0432\u0441\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u0436\u0435\u0441\u0442\u043a\u043e \u0437\u0430\u0431\u0438\u0442\u044c, \u0438 \u0437\u0430\u0431\u0438\u0442\u044c \u043d\u0430 \u043d\u0438\u0445, \u043d\u043e \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0431\u0449\u0438\u0439 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0438\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u043c\u044b \u0441\u0430\u043c\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\u0440\u044b, \u0430 \u043d\u0435 \u043a\u0430\u043a\u0438\u0435 \u0442\u043e \u0442\u0430\u043c \u0438\u043d\u0434\u0443\u0441\u044b \u0433\u043e\u0432\u043d\u043e\u043a\u043e\u0434\u0435\u0440\u044b \u0437\u0430 3 \u0431\u0430\u043a\u0441\u0430 \u0432 \u0447\u0430\u0441, \u0438 \u043f\u0438\u0448\u0435\u043c \u0441\u0430\u043c\u0443\u044e \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0443 \u043d\u0430 \u0432\u0441\u0435 \u0441\u043b\u0443\u0447\u0430\u0438 \u0436\u0438\u0437\u043d\u0438.<\/p>\n<p>  \u041d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439, \u0435\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0432\u0437\u0434\u0443\u043c\u0430\u0435\u0442 \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u0442\u0430\u0448\u0438\u0442, \u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e \u043c\u043d\u0435\u043c\u043e\u043d\u0438\u043a\u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043a \u0434\u0430\u0442\u0430\u0448\u0438\u0442\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u043d\u0435 \u043f\u0443\u0442\u0430\u043b\u0438\u0441\u044c \u0441 \u043c\u043e\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0438 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0432 \u0434\u0430\u0442\u0430\u0448\u0438\u0442. <i>(\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u044f \u0443\u043a\u0430\u0437\u0430\u043b \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u043a\u0430\u043a \u0432 \u0434\u0430\u0442\u0430\u0448\u0438\u0442; \u0430\u0434\u0440\u0435\u0441\u0430, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0442\u043e\u0436\u0435).<\/i><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0432\u0432\u0435\u0434\u0435\u043c \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435:<\/p>\n<p>  S0_TX_BASE \u2014 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0431\u0443\u0444\u0435\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0421\u043e\u043a\u0435\u0442\u04300. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u043e \u043e\u043d \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u0440\u0430\u0432\u0435\u043d 0\u04454000.<br \/>  \u041d\u0443 \u0430 \u0432\u0434\u0440\u0443\u0433 \u0443 \u0432\u0430\u0441 \u0447\u0438\u043f W5100 \u0441\u0438\u0434\u0438\u0442 \u043d\u0435 \u043d\u0430 \u043d\u0443\u043b\u0435\u0432\u043e\u043c \u0430\u0434\u0440\u0435\u0441\u0435? \u0422\u043e \u0435\u0441\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0438\u043f\u043e\u0432\u0441\u043a\u0438\u0439 \u00ab\u043d\u0443\u043b\u0435\u0432\u043e\u0439\u00bb \u0430\u0434\u0440\u0435\u0441 \u0441\u043c\u0435\u0449\u0435\u043d \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0432\u0430\u0448\u0435\u0439 <b>\u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/b>, \u0438 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 ( \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440) \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0430\u0434\u0440\u0435\u0441 \u0447\u0438\u043f\u0430 \u0440\u0430\u0432\u0435\u043d 0\u04451984.<br \/>  \u0414\u0430\u043b\u0435\u0435: \u0435\u0441\u043b\u0438 \u0441 \u0421\u043e\u043a\u0435\u0442\u043e\u043c0 \u0432\u0441\u0435 \u044f\u0441\u043d\u043e, \u0442\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0421\u043e\u043a\u0435\u0442\u04301 (\u043f\u043e\u043c\u0438\u043c\u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u0430 \u0447\u0438\u043f\u0430) \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0435\u0449\u0435 \u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0412\u044b \u0432\u044b\u0434\u0435\u043b\u0438\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 <b>\u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439<\/b> \u0441\u043e\u043a\u0435\u0442.<br \/>  \u0422\u043e\u0435\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u0436\u0435\u0441\u0442\u043a\u043e \u0437\u0430\u0431\u0438\u0442\u044c, \u0430 \u043c\u043e\u0436\u043d\u043e \u00ab\u043f\u043e-\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c\u0443\u00bb \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c TMSR \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (\u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0431\u0443\u0444\u0435\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438), \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0442\u0442\u0443\u0434\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0443\u0444\u0435\u0440\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0441\u043e\u043a\u0435\u0442\u0443, \u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u00ab\u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c\u00bb \u0433\u0434\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0431\u0443\u0444\u0435\u0440\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u043a\u0435\u0442\u0430.<\/p>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u044f \u0412\u0430\u0441 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u043b, \u0430 \u0432 \u0441\u0432\u043e\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u044f \u0435\u0433\u043e, \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b, \u0436\u0435\u0441\u0442\u043a\u043e \u0437\u0430\u0431\u0438\u043b: <br \/>  S0_TX_BASE = 0\u04454000.<\/p>\n<p>  S0_TX_MASK \u2014 \u043c\u0430\u0441\u043a\u0430, \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043d\u0430\u043c \u0434\u0430\u043b\u0435\u0435 \u0432 \u00ab\u0440\u0430\u0441\u0447\u0435\u0442\u0430\u0445\u00bb.<\/p>\n<p>  \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435, \u043c\u0430\u0441\u043a\u0443, \u043f\u043e-\u0445\u043e\u0440\u043e\u0448\u0435\u043c\u0443, \u043d\u0430\u0434\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u043a\u0435\u0442\u0430 \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e (\u0432\u0430\u043c\u0438 \u0436\u0435, \u043a\u0441\u0442\u0430\u0442\u0438) \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0431\u0443\u0444\u0435\u0440\u0430 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438 (TMSR).<\/p>\n<p>  \u042f \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u044e (\u0440\u0430\u043d\u044c\u0448\u0435 \u044f \u0434\u0443\u043c\u0430\u043b, \u0447\u0442\u043e \u044f \u2013 \u043b\u0435\u043d\u0442\u044f\u0439, \u043d\u043e, \u0441\u0442\u0430\u0432 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u043c \u0425\u0430\u0431\u0440\u0430 \u0443\u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u2013 \u0443 \u043c\u0435\u043d\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u043a\u0440\u0430\u0441\u0442\u0438\u043d\u0430\u0446\u0438\u044f), \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043e\u043a\u0435\u0442 \u044f \u0432\u044b\u0434\u0435\u043b\u0438\u043b \u043f\u043e 2\u041a\u0411 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u043a\u0430\u043a \u0432\u044b \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0440\u0430\u0432\u043d\u044b \u043d\u0435 2000 \u0433\u0440\u0430\u043c, \u043d\u043e 2048 \u0431\u0430\u0439\u0442), \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u0430\u0441\u043a\u0430 \u2014 \u044d\u0442\u043e 2048 -1 = 2047 ( 0x07FF ). <\/p>\n<p>  \u0418\u0442\u043e\u0433\u043e, \u0443 \u043d\u0430\u0441 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0431\u0443\u0434\u0435\u0442: S0_TX_MASK = 0x07FF.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0443\u0442\u0430\u043d\u0438\u0446\u044b, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441 \u0447\u0435\u0441\u0442\u044c\u044e \u0435\u0435 \u0440\u0430\u0441\u043f\u0443\u0442\u0430\u0435\u043c:<\/p>\n<p>  \u041a\u0430\u043a \u044f \u043f\u0438\u0441\u0430\u043b \u0432\u044b\u0448\u0435, \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b (read only) S0_TX_RD0, S0_TX_RD1\u2013 \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u0431\u043b\u043e\u043a\u0430 \u0412\u0430\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u043a\u0435\u0442\u0430. <br \/>  \u0415\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u2013 \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0442\u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0431\u0430\u0439\u0442 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0440\u0443\u0436\u0443, \u0432 \u0441\u0435\u0442\u044c, <b>\u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442<\/b> (\u043d\u0443, \u0442\u043e\u0435\u0441\u0442\u044c \u043d\u0435 \u043f\u0440\u044f\u043c \u0449\u0430\u0437 \u043f\u043e\u043a\u0430 \u0432\u044b \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0430 \u043a\u043e\u0433\u0434\u0430 \u0434\u0435\u043b\u043e \u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447).<br \/>  \u0418 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 (\u0432 \u0431\u0443\u0444\u0435\u0440\u0435) \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u043d\u0435 \u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u0431\u043b\u043e\u043a\u0430 \u0432\u0430\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 (\u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043a\u043e\u043d\u0435\u0446 \u0431\u043b\u043e\u043a\u0430), \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u0432 \u043f\u0430\u0440\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 S0_TX_WR0, S0_TX_WR1. <\/p>\n<p>  \u0422\u043e\u0435\u0441\u0442\u044c, \u043f\u043e \u0444\u0430\u043a\u0442\u0443, W5100 \u0432\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0435\u0442 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0431\u0430\u0439\u0442 \u0432\u0430\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0430\u0440\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 S0_TX_RD0, S0_TX_RD1, \u0432\u044b\u043f\u043b\u0435\u0432\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u043d\u0430\u0440\u0443\u0436\u0443 \u0432 \u0441\u0435\u0442\u044c, \u0437\u0430\u0442\u0435\u043c \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0431\u0430\u0439\u0442\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044d\u0442\u043e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0438 \u0442\u0430\u043a \u044d\u0442\u043e\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (\u043f\u0430\u0440\u0430) \u0438 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0441\u0440\u0430\u0432\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0441 \u043f\u0430\u0440\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 S0_TX_WR0, S0_TX_WR1, \u0438 \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u0441\u044f. <i>(\u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0432\u0441\u0435 \u0432\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 S0_TX_RD0, S0_TX_RD1 \u0441\u0442\u0430\u043d\u0435\u0442 \u0440\u0430\u0432\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u043c\u0443 S0_TX_WR0, S0_TX_WR1).<\/i><\/p>\n<p>  <i>\u0414\u0436\u0435\u043d\u0442\u043b\u044c\u043c\u0435\u043d\u044b, \u044f \u043f\u0440\u043e\u0449\u0443 \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430 \u0432\u0441\u044e \u044d\u0442\u0443 \u043d\u0443\u0434\u044f\u0442\u0438\u043d\u0443, \u043e\u0447\u0435\u043d\u044c \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043d\u0438\u043a\u043e\u0433\u043e \u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u043d\u043e \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u2013 \u043d\u0438\u043a\u0430\u043a (\u0443\u043c\u043e\u043c \u0412\u0438\u0437\u043d\u0435\u0442\u0443 \u043d\u0435 \u043e\u0431\u044a\u044f\u0442\u044c). \u041f\u043e\u0442\u0435\u0440\u043f\u0438\u0442\u0435 \u0435\u0449\u0435 \u0447\u0443\u0442\u044c \u0447\u0443\u0442\u044c, \u044d\u0442\u043e \u0441\u043a\u043e\u0440\u043e \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u0441\u044f, coffee break \u0441\u043e\u0432\u0441\u0435\u043c \u0431\u043b\u0438\u0437\u043a\u043e.<\/i><\/p>\n<p>  \u041e\u043a, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0443\u0436\u0435 \u043d\u0430\u0447\u043d\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438.<br \/>  \u041d\u0435 \u0441\u0442\u0430\u043d\u0443 \u0432\u0441\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 5-\u044e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c\u0438, \u043d\u043e \u0440\u0430\u0437\u043e\u0431\u044c\u044e \u043f\u043e \u0448\u0430\u0433\u0430\u043c, \u0447\u0442\u043e\u0431 \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>  \u041d\u0430\u043f\u043b\u043e\u0434\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445:<\/p>\n<p>  <b>\u0421\u043c\u0435\u0449\u0435\u043d\u0438\u0435<\/b>: S0_TX_OFFSET = make16 ( S0_TX_RD0, S0_TX_RD1 )<\/p>\n<p>  \/\/ \u0441\u043e\u0437\u0434\u0430\u0435\u043c 16-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u00ab\u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u00bb \u0438\u0437 \u0434\u0432\u0443\u0445 8-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432-\u043f\u043e\u0439\u043d\u0442\u0435\u0440\u043e\u0432<br \/>  \/\/ \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u00ab\u0431\u0438\u0433-\u044d\u043d\u0434\u0438\u044d\u043d\u00bb, \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 S0_TX_RD0,<br \/>  \/\/ \u0430 \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u2014 \u0432 S0_TX_RD1<\/p>\n<p>  \u041f\u043e \u0436\u0438\u0437\u043d\u0438, \u044d\u0442\u043e\u0442 \u043f\u043e\u0439\u043d\u0442\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0447\u0438\u043f\u0430 (\u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u0447\u0438\u0442\u0430\u0435\u0442\u0435 \u044d\u0442\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0432 \u0436\u0438\u0432\u043e\u0439 \u0430\u043f\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u2013 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0441\u0430\u043c\u0438), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0434\u043e \u043e\u0442\u0440\u0435\u0437\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0435\u0435, \u0447\u0442\u043e\u0431\u044b \u044f\u0447\u0435\u0439\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0439\u043d\u0442\u0435\u0440, \u043b\u0435\u0436\u0430\u043b\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0442\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0421\u043e\u043a\u0435\u0442\u0430 \u0437\u043e\u043d\u044b (\u0442\u043e \u0435\u0441\u0442\u044c \u0432 <b>\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u043c <\/b>\u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0430\u0434\u0440\u0435\u0441\u043e\u0432).<br \/>  \u041f\u0440\u0438\u0434\u0430\u0434\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u0443\u044e \u043a \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0443 (\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435):<\/p>\n<p>  S0_TX_OFFSET = ( S0_TX_OFFSET &#038; S0_TX_MASK )<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u043c \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439, <b>\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439<\/b> \u0430\u0434\u0440\u0435\u0441, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443:<\/p>\n<p>  S0_TX_Start_Addr = S0_TX_OFFSET + S0_TX_BASE<\/p>\n<p>  \u041d\u0443 \u0447\u0442\u043e \u0436, \u0442\u0435\u043f\u0435\u0440\u044c \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043f\u043e\u0439\u043d\u0442\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0447\u0438\u043f\u0443 \u0441 \u043a\u0430\u043a\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0431\u0430\u0439\u0442\u044b \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443, \u043c\u044b \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043b\u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043e\u043a\u0435\u0442\u0430 (\u0421\u043e\u043a\u0435\u04420), \u0438 (\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c) \u043c\u044b \u0443\u0436\u0435 \u0437\u0430\u043b\u0438\u043b\u0438 \u043d\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u2014 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0447\u0438\u043f\u0430, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u043c\u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430.<\/p>\n<p>  \u041a\u0430\u043a \u0447\u0438\u043f \u0443\u0437\u043d\u0430\u0435\u0442, \u0434\u043e \u043a\u0430\u043a\u0438\u0445 \u043f\u043e\u0440 \u0435\u043c\u0443 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438?<br \/>  \u041d\u0430 \u044d\u0442\u043e \u0435\u043c\u0443 \u0443\u043a\u0430\u0436\u0435\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0439 \u0440\u0430\u043d\u0435\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (\u043f\u0430\u0440\u0430) \u2013 \u043f\u043e\u0439\u043d\u0442\u0435\u0440 Socket0 TX Write Pointer.<\/p>\n<p>  \u041f\u043e\u043a\u0430 \u0447\u0442\u043e \u043f\u043e\u0439\u043d\u0442\u0435\u0440 \u0447\u0442\u0435\u043d\u0438\u044f Socket0 TX Read Pointer \u0438 \u043f\u043e\u0439\u043d\u0442\u0435\u0440 \u0437\u0430\u043f\u0438\u0441\u0438 Socket0 TX Write Pointer \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<br \/>  \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e (\u0441\u043c. \u0432\u044b\u0448\u0435) \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0445 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c, \u0438 \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e (\u0432 \u0434\u0430\u0442\u0430\u0448\u0438\u0442 \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0438 \u0441\u043b\u043e\u0432\u0430), \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0441\u0435\u0442 \u0447\u0438\u043f\u0430 \u2013 \u0442\u043e\u0436\u0435.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0448\u0442\u0440\u0438\u0445 \u2013 \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430 \u043a\u043e\u043d\u0435\u0446 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438.<br \/>  \u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u2014 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043c \u0431\u044b\u043b \u043d\u0443\u0436\u0435\u043d \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438, \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c \u0447\u0438\u043f\u043e\u0432\u0441\u043a\u0438\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0435\u0431\u044f \u2013 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438.<br \/>  \u0422\u043e\u0435\u0441\u0442\u044c \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u043e\u0439\u043d\u0442\u0435\u0440\u0430 \u0437\u0430\u043f\u0438\u0441\u0438 \u043d\u0430 \u0434\u043b\u0438\u043d\u0443 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<p>  Socket0 TX Write Pointer = Socket0 TX Write Pointer + \u0414\u043b\u0438\u043d\u0430_\u0411\u043b\u043e\u043a\u0430_\u0414\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  <i>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044f, \u0447\u0442\u043e \u0443 \u0412\u0430\u0441 \u0443\u0436\u0435 \u0433\u043e\u043b\u043e\u0432\u0430 \u043a\u0440\u0443\u0433\u043e\u043c \u0438\u0434\u0435\u0442, \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043f\u043e\u0434 \u00abSocket0 TX Write Pointer\u00bb (16 \u0431\u0438\u0442) \u043c\u044b \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0430\u0440\u044b 8-\u0431\u0438\u0442\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 S0_TX_WR0 (\u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442) \u0438 S0_TX_WR1 (\u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442).<\/i><\/p>\n<p>  <i>(\u0418 \u2014 \u0434\u0430, \u2014 \u0435\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043b\u0438 \u2013 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043f\u0438\u0442\u044c \u043a\u043e\u0444\u0435 \u0438 \u043f\u0435\u0440\u0435\u043a\u0443\u0440\u0438\u0442\u044c, \u044f \u043f\u043e\u0434\u043e\u0436\u0434\u0443&#8230;)<\/p>\n<p>  \u0421\u0442\u043e\u0439\u0442\u0435! \u041f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0435\u043a\u0443\u0440\u043e\u043c\u2026 \u0414\u0430\u0436\u0435 \u043d\u0435 \u0437\u043d\u0430\u044e, \u043a\u0430\u043a \u0432\u0430\u043c \u0441\u043a\u0430\u0437\u0430\u0442\u044c\u2026 \u041c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435, \u0434\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c\u0438 \u043f\u0440\u0438\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0430\u044f \u0436\u0435 \u0431\u0430\u0439\u0434\u0430 \u2013 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0439\u043d\u0442\u0435\u0440\u043e\u0432 \u2013 \u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430, \u0434\u043b\u0438\u043d\u0430 \u0431\u043b\u043e\u043a\u0430.<br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u043e\u0442 \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0435\u043c: \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0442\u043e \u0412\u044b \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043f\u043e\u043d\u044f\u043b\u0438? \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u0421\u0438 \u044f \u0432\u0441\u0435 \u044d\u0442\u0430\u043f\u044b \u0431\u0443\u0434\u0443 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0435\u0442\u0435\u0441\u044c. \u0410 \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u0436\u0435 \u0447\u0442\u043e-\u0442\u043e \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u2013 \u044f \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0445 \u043e\u0442\u0432\u0435\u0447\u0443. Deal?<\/i><\/p>\n<h4>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c<\/h4>\n<p>  <i>\u0415\u0441\u043b\u0438 \u0443 \u043c\u0435\u043d\u044f \u0438 \u0431\u044b\u043b\u0430 \u043d\u0430\u0434\u0435\u0436\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0432\u0430\u0439\u0442 \u0437\u0430 \u0441\u0442\u0430\u0442\u044c\u044e, \u0442\u043e \u043e\u043d\u0430 \u0442\u0430\u0435\u0442 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c \u043d\u043e\u0432\u044b\u043c \u0430\u0431\u0437\u0430\u0446\u0435\u043c.<\/p>\n<p>  \u0414\u0430 \u2014 \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0434\u0443\u043c\u0430\u044e\u0442 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438 \u2014 \u0432\u043e\u0442 \u044d\u0442\u043e \u043a\u0443\u043f\u0438\u043b\u0438\u0441\u044c \u0442\u0430\u043a \u043a\u0443\u043f\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u00bb\u2026 \u0441\u0435\u0440\u0432\u0435\u0440 \u0437\u0430 5 \u043c\u0438\u043d\u0443\u0442&quot;! \u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435 \u2014 \u044d\u0442\u043e \u0432\u044b \u0435\u0449\u0435 \u043a\u043e\u0434 \u043d\u0435 \u0432\u0438\u0434\u0435\u043b\u0438! \u041d\u0435\u0442, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u043d, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439, \u0430 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043d\u043e \u044d\u0442\u043e \u0432\u0441\u0435 \u0438\u0437\u0437\u0430 \u043e\u0431\u0438\u043b\u0438\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432\u0441\u0442\u0430\u0432\u043e\u043a \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u0415\u0441\u043b\u0438 \u043b\u0438\u0448\u043d\u0435\u0435 \u043f\u043e\u0443\u0431\u0438\u0440\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u043a\u043e\u0434 \u2014 \u0435\u0433\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 \u0441\u0430\u043b\u0444\u0435\u0442\u043a\u0435! \u0418 \u043f\u043e\u0442\u043e\u043c, \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c 10 \u043c\u0438\u043d\u0443\u0442 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0442\u0443\u0442, \u0447\u0435\u043c 2 \u0434\u043d\u044f \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0430\u0448\u0438\u0442 \u0432 100 \u0441\u0442\u0440\u0430\u043d\u0438\u0446. \u041d\u0443 \u0438 \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u2014 \u00ab\u0442\u044f\u0436\u0435\u043b\u043e \u0432 \u0443\u0447\u0435\u043d\u044c\u0435 \u2014 5 \u043c\u0438\u043d\u0443\u0442 \u0432 \u0431\u043e\u044e\u00bb \u2014 \u043d\u0438\u043a\u0442\u043e \u0436 \u043d\u0435 \u043e\u0442\u043c\u0435\u043d\u044f\u043b.<\/i><\/p>\n<p>  \u0414\u0430, \u0442\u0430\u043a \u0432\u043e\u0442, \u2014 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c.<\/p>\n<p>  \u042f, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043b\u044e\u0431\u043b\u044e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435, \u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e \u0438\u043c\u0435\u0442\u044c \u0444\u043b\u043e-\u0447\u0430\u0440\u0442. \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043d\u0435\u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0438\u043c\u043e\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434, \u043e\u0431\u044b\u0447\u043d\u043e \u043c\u043d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0435\u0431\u044f \u043e\u0434\u0435\u0440\u043d\u0443\u0442\u044c \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0444\u043b\u043e-\u0447\u0430\u0440\u0442, \u0447\u0442\u043e\u0431\u044b \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u043e\u0442\u043b\u0430\u0434\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u043d\u0435\u043c, \u0430 \u0443\u0436 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u043a\u043e\u0434\u0443. \u0422\u0430\u043a \u0447\u0442\u043e, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u043a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u0448 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 (\u0441\u043c. \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443):<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/1c6\/116\/674\/1c61166741984b269fd031363ae29f79.jpg\" alt=\"image\"\/><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u00ab\u043b\u0443\u0447\u0448\u0435 100 \u0440\u0430\u0437 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u2014 \u0447\u0435\u043c 1 \u0440\u0430\u0437 \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c\u00bb \u0435\u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0442\u043e, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435?<\/p>\n<p>  \u0412\u0441\u0435\u0433\u043e \u0434\u0432\u0430 \u0441\u043b\u043e\u0432\u0430:<\/p>\n<p>  \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 S0_CR (Socket0 Command Register) (0\u04450401).<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 ( \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u043e\u0447\u0438\u0445) \u2013 \u0447\u0435\u0440\u0435\u0437 S0_SR (Socket0 Status Register) (0\u04450403).<\/p>\n<p>  \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0421\u043e\u043a\u0435\u0442\u0430 (\u0442\u043e \u0435\u0441\u0442\u044c \u043f\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f\u043c), \u043d\u043e, \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e, \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0432\u0430\u0448\u0438\u0445 \u0430\u043f\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u0441\u0443\u043f\u0435\u0440\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0440\u0430\u0431\u043e\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u043e\u043f\u0440\u043e\u0441 \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u2013 \u0432\u043f\u043e\u043b\u043d\u0435 \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043d\u0430.<\/p>\n<h4>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Ethernet Shield \u2014 \u043a PIC \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443<\/h4>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/c2f\/bc7\/bd5\/c2fbc7bd5a38421fb1d966becfb4f61b.jpg\" alt=\"image\"\/><\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u043d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u0440\u0430\u0441\u0441\u0443\u0441\u043e\u043b\u0438\u0432\u0430\u0442\u044c \u2014 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0432\u0441\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043e.<\/p>\n<p>  \u0421\u043e\u0432\u0435\u0442: 2\u04453 \u0445\u0438\u0434\u0435\u0440 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 (\u043e\u043d \u043f\u043e\u0434 \u043f\u043b\u0430\u0442\u043e\u0439, \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u043d\u0435 \u0432\u0438\u0434\u0435\u043d) \u2014 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0445\u043b\u0438\u043f\u043a\u0438\u0439 \u0438 \u0433\u043b\u044e\u0447\u043d\u044b\u0439. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438\u043c, \u0430 \u043f\u043e\u0434\u043f\u0430\u044f\u0442\u044c \u043f\u0440\u043e\u0432\u043e\u0434\u0430 \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u043f\u043b\u0430\u0442\u0443, \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432.<\/p>\n<p>  \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u2013 \u043a \u043f\u0438\u043d\u0430\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u0442\u0430\u043b. \u042d\u0442\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0438, \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u043a\u0430\u043a \u0443\u0433\u043e\u0434\u043d\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0432 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0438\u043d\u043e\u0432 \u043f\u043e \u0441\u0432\u043e\u0435\u043c\u0443 \u0432\u043a\u0443\u0441\u0443.<\/p>\n<h4>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 (\u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e \u2013 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!)<\/h4>\n<p>  \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0443\u0447\u0435\u043d\u044b\u0439 (?), \u043f\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u0430 \u043b\u044e\u0434\u044f\u0445 (\u0438\u043b\u0438 \u043b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u043d\u044b\u0445 \u0436\u0438\u0432\u043e\u0442\u043d\u044b\u0445) \u2013 \u044f \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u0435\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u043d\u0430 \u0441\u0435\u0431\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u0435\u0442\u0435 \u0435\u0439 \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0435\u0449\u0435 \u043d\u0435 \u0443\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u044d\u0442\u0443 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 CCS \u043a\u043e\u043c\u043f\u0430\u0439\u043b\u0435\u0440\u0435. \u0415\u0435 \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043b\u0435\u0433\u043a\u043e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u0442\u044c (\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u2013 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0433\u0440\u043e\u043c\u043a\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u0430\u0437\u0430\u043d\u043e) \u043d\u0430 \u043b\u044e\u0431\u043e\u0439 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 IDE.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f PIC16F77 (\u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u043d\u0430 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u0434\u0435\u043c\u043e-\u043f\u043b\u0430\u0442\u043a\u0435). \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0432\u044b \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0435\u0435 (\u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u2013 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u043e\u0439 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430) \u043f\u043e\u0434 \u043b\u044e\u0431\u043e\u0439 PIC. \u0420\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043e\u043d\u0430 \u0436\u0440\u0435\u0442 \u043c\u0430\u043b\u043e, \u0430 \u0435\u0441\u043b\u0438 \u043f\u043e\u0432\u044b\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 print (\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 \u043d\u043e \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0432\u043b\u0438\u044f\u044e\u0449\u0438\u0435 \u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443), \u0442\u043e \u043a\u043e\u0434 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u0441\u044f \u0435\u0449\u0435 \u0440\u0430\u0437\u0430 \u0432 \u0434\u0432\u0430.<\/p>\n<p>  \u041a\u0430\u043a \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u0440\u0430\u043d\u0435\u0435, \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430\u043f\u0438\u0447\u043a\u0430\u043d \u00ab\u043f\u0440\u0438\u043d\u0442\u0430\u043c\u0438\u00bb \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 RS232 \u2014 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430, \u0434\u043b\u044f \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0445 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u043f\u043e\u0443\u0434\u0430\u043b\u044f\u0442\u044c \u2013 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u044d\u0442\u043e \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u043e\u0432\u043b\u0438\u044f\u0435\u0442.<\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043c\u044b \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e (\u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c) \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a HTTP \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b \u043e\u043d \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441 \u0444\u0430\u0439\u043b\u0430 index.html \u00ab\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\u00bb. \u0422\u043e \u0435\u0441\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043d\u0435 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u2013 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u043d\u0434\u0435\u043a\u0441 \u0444\u0430\u0439\u043b.<\/p>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441 \u044d\u0442\u043e\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<p>  GET \/ HTTP\/1.1<\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u043e\u0431\u0435\u043b \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e &quot;\/&quot; \u0438 \u0434\u043e \u00abHTTP\u00bb \u2013 \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 <s>\u043c\u043e\u0433\u043b\u0430 \u0431\u044b \u0431\u044b\u0442\u044c \u0432\u0430\u0448\u0430 \u0440\u0435\u043a\u043b\u0430\u043c\u0430<\/s> \u043c\u043e\u0433\u043b\u043e \u0431\u044b\u0442\u044c \u0438\u043c\u044f \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.<\/p>\n<p>  \u0420\u0430\u0437 \u0442\u0430\u043c \u043f\u0443\u0441\u0442\u043e ( \u043f\u0440\u043e\u0431\u0435\u043b) \u2013 \u0437\u043d\u0430\u0447\u0438\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e index.html. (\u041e\u043a, \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e. \u041e\u0431\u044b\u0447\u043d\u043e, \u0437\u0430\u0445\u043e\u0434\u044f \u043d\u0430 \u0441\u0430\u0439\u0442, \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435 \u0438\u043c\u044f \u0441\u0430\u0439\u0442\u0430, \u0431\u0435\u0437\u043e \u0432\u0441\u044f\u043a\u0438\u0445 \u0442\u0430\u043c \u0441\u043b\u044d\u0448 \u0438 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430. \u041f\u0430\u0446\u0430\u043d\u044b \u0441 \u043e\u0431\u0435\u0438\u0445 \u0441\u0442\u043e\u0440\u043e\u043d <s>\u043f\u0440\u043e\u043f\u043b\u0430\u0442\u0438\u043b\u0438 \u043a\u043e\u043c\u0443 \u043d\u0430\u0434\u043e<\/s>, \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438\u0441\u044c, \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0442\u043e \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043e\u0442\u0432\u0435\u0442 \u0438\u043d\u0434\u0435\u043a\u0441 \u0444\u0430\u0439\u043b).<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432\u0432\u043e\u0434 \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430:<\/p>\n<p>  192.168.0.155\/kotiki.jpg <\/p>\n<p>  \u041e\u0442\u043e\u0448\u043b\u0435\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: <\/p>\n<p>  GET \/kotiki.jpg HTTP\/1.1<\/p>\n<p>  \u042f \u043a \u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0442\u0430\u043a \u0434\u043e\u043b\u0433\u043e \u0440\u0430\u0437\u043c\u0443\u0441\u043e\u043b\u0438\u0432\u0430\u044e \u2014 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0435\u0441\u0442\u044c \u043b\u0438 \u0432 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u043f\u0440\u043e\u0431\u0435\u043b \u043f\u043e\u0441\u043b\u0435 \u0441\u043b\u044d\u0448 \u0438 \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u2013 \u043e\u0442\u0441\u044b\u043b\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u00ab\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443\u00bb index.html (\u043d\u0443 \u043e\u043e\u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u0443\u044e). \u0410 \u0435\u0441\u043b\u0438 \u0442\u0430\u043c \u0445\u043e\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435 \u2014 \u0442\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439_404.<\/p>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0438 \u043f\u0440\u0438\u043c\u0435\u0440 \u0432\u0435\u0434\u044c \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043f\u0440\u0438\u0447\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0430 \u043d\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 HTML \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u041d\u043e\u2026 (<i>\u0430\u0430\u0430\u0430\u0430! \u0430\u0444\u0442\u0430\u0440 \u0434\u043e\u0441\u0442\u0430\u043b \u0443\u0436\u0435!<\/i>) \u0430\u0433\u0430, \u043e\u043f\u044f\u0442\u044c \u043d\u043e. \u0422\u0443\u0442 \u0432\u043e\u0442 \u043a\u0430\u043a\u0430\u044f \u0444\u0438\u0448\u043a\u0430: \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u00ab\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430\u00bb, \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a:<\/p>\n<p>  HTTP\/1.1 404 Page not found<\/p>\n<p>  (\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0439 \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u043e\u043a, \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u0442 HTTP\/1.1 200 OK)<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443 \u043d\u0430\u0448\u0443 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u0441 \u043a\u0430\u043a\u0438\u043c \u0443\u0433\u043e\u0434\u043d\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435\u043c \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435, \u0438 \u0442\u0430\u043a\u0438\u043c \u0432\u043e\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c, \u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u043d\u0438\u0445 \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u044f\u0442 \u043d\u0430\u0448\u0443 \u043a\u0440\u0430\u0441\u0438\u0432\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443. \u041a\u0440\u043e\u043c\u0435 Internet Explorer. \u041e\u043d, \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u0442\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0445\u0435\u0440\u0438\u0442 \u043d\u0430\u0448\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u0438 \u0432\u044b\u0434\u0430\u0441\u0442 \u0441\u0432\u043e\u0439 \u043e\u0442\u0432\u0435\u0442 \u041a\u0435\u0440\u0437\u043e\u043d\u0443 \u0432 \u0441\u0442\u0438\u043b\u0435 \u0430-\u043b\u044f Internet Explorer.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0431\u044b \u043c\u043d\u0435 \u043d\u0438 \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0412\u0430\u0441 \u0443\u0442\u043e\u043c\u043b\u044f\u0442\u044c, \u043d\u0430\u0434\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0435\u0449\u0435 \u0438 \u0432\u043e\u0442 \u043d\u0430 \u0447\u0442\u043e: \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u00ab\u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043a\u0430\u0440\u0435\u0442\u043a\u0438\u00bb \u0438 \u00ab\u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438\u00bb \u2014 \\r \\n ( \u0438\u043b\u0438 \u0432 \u043a\u043e\u0434\u0430\u0445 ASCII: 0D 0A ). \u0418 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0438\u043d\u0430\u0447\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b ( \u043d\u0435 \u0431\u0443\u0434\u0443 \u0441\u043d\u043e\u0432\u0430 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u0435\u0433\u043e \u0432\u0441\u0443\u0435) \u043c\u043e\u0433\u0443\u0442 \u0412\u0430\u0441 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u044c. \u0414\u0430\u043b\u0435\u0435, \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0447\u0430\u043b\u043e\u043c HTML \u0442\u044d\u0433\u043e\u0432 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c <b>\u043f\u0430\u0440\u0430 <\/b>\u044d\u0442\u0438\u0445 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0439 (\u0442\u043e \u0435\u0441\u0442\u044c \\r\\n\\r\\n \u0438\u043b\u0438 0D0A0D0A \u0432 \u043a\u043e\u0434\u0430\u0445 ASCII) \u0438\u043d\u0430\u0447\u0435 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0430\u043c\u0438_\u0437\u043d\u0430\u0435\u0442\u0435_\u043a\u0430\u043a\u043e\u0439 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u043e \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u043e\u0436\u0435 \u0412\u0430\u0441 \u043d\u0435 \u043f\u043e\u0439\u043c\u0443\u0442.<\/p>\n<p>  \u0410, \u043d\u0443 \u0438 \u0435\u0449\u0435 ( \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0446\u0435\u043d\u043d\u044b\u0439 \u043e\u043f\u044b\u0442 \u0438 \u0412\u0430\u043c \u0441\u0442\u043e\u0438\u0442 \u043e \u043d\u0435\u043c \u0437\u043d\u0430\u0442\u044c). \u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u043b\u043e\u0436\u043a\u0430 \u0434\u0435\u0433\u0442\u044f \u0432 \u0431\u043e\u0447\u043a\u0443 \u0447\u0435\u0440\u0435\u0441\u0447\u0443\u0440 \u0449\u0435\u043f\u0435\u0442\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 (\u043d\u0443, \u0432\u044b \u043f\u043e\u043d\u044f\u043b\u0438): \u044f \u043a\u0430\u043a-\u0442\u043e \u043e\u0448\u0438\u0431\u0441\u044f \u0438 \u0432 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435, \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0438 \u0434\u043b\u0438\u043d\u044b \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0434\u0430\u043b\u0435\u0435 HTML \u043a\u043e\u0434\u0430 (Content-Lenght: &#8230;) \u0443\u043a\u0430\u0437\u0430\u043b \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043d\u0430 1 \u0441\u0438\u043c\u0432\u043e\u043b \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 (\u043d\u0443, \u0442\u043e \u0435\u0441\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0441\u043a\u0430\u0436\u0435\u043c, 665, \u0430 \u044f \u0443\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0438\u0445 \u0431\u0443\u0434\u0435\u0442 666). <br \/>  \u0422\u0430\u043a \u0432\u043e\u0442, \u0432\u0441\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b \u043f\u0440\u043e\u0433\u043b\u043e\u0442\u0438\u043b\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443 \u0433\u043b\u0430\u0437\u043e\u043c \u043d\u0435 \u043c\u043e\u0440\u0433\u043d\u0443\u0432, \u0430 IE \u0447\u0435\u0441\u0442\u043d\u043e \u0434\u043e \u043f\u043e\u0441\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0436\u0438\u0434\u0430\u043b\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0434\u0435\u0442 666-\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u043f\u043e\u043a\u0430 \u043e\u043d \u043d\u0435 \u043f\u0440\u0438\u0439\u0434\u0435\u0442 \u2013 \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0441\u044f \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443.<\/p>\n<p>  \u042f \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0438\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0438\u0445 \u0438\u0437 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u043b\u043e\u043a\u043e\u0432-\u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0430 \u0441\u0430\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u044b\u0432\u0430\u044e-\u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u044e \u043f\u043e\u0442\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443 \u043c\u0435\u043d\u044f \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 <b>\u0432\u043d\u0430\u0447\u0430\u043b\u0435 <\/b>\u0438\u0434\u0435\u0442 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043f\u043e\u0442\u043e\u043c main(), \u0438 \u0432 \u0441\u0430\u043c\u043e\u043c \u043a\u043e\u043d\u0446\u0435 \u2013 \u0440\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 ( \u0438 \u043d\u0435\u0434\u0430\u043b\u0435\u043a\u043e \u043e\u0442 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445) \u0438\u0434\u0435\u0442 main() \u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0435\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u043c, \u0430 \u043d\u0435 \u043f\u0440\u043e\u0434\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u043d\u043d\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0431\u043b\u044e\u0434\u0430.<\/p>\n<p>  \u0410\u0445 \u0434\u0430, \u0435\u0449\u0435: \u044f \u043d\u0435 \u0441\u0442\u0430\u043b \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432, \u0430 \u0441\u0434\u0435\u043b\u0430\u043b \u0432\u0441\u0435 \u043e\u0434\u043d\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0412\u0430\u043c \u043b\u0435\u0433\u0447\u0435 \u0431\u044b\u043b\u043e \u0432 \u043d\u0435\u0439 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u2013 \u043d\u0435 \u0438\u0434\u0435\u0430\u043b \u0438\u0437\u044f\u0449\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c, \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u0442\u0440\u0435\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043d\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u044f\u0432\u043b\u044f\u043b\u043e\u0441\u044c \u043c\u0430\u0441\u043a\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438 \u043a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>  \u0418, \u0432\u044b \u043d\u0435 \u043f\u043e\u0432\u0435\u0440\u0438\u0442\u0435, \u043d\u043e \u043c\u044b \u0434\u043e\u0448\u043b\u0438 \u0434\u043e \u043a\u043e\u043d\u0446\u0430.<br \/>  \u0412\u043e\u0442 \u043f\u0440\u044f\u043c \u0432 \u0434\u0432\u0443\u0445 \u0434\u044e\u0439\u043c\u0430\u0445 \u043d\u0438\u0436\u0435 \u2014 \u0442\u0430 \u0441\u0430\u043c\u0430\u044f \u043e\u0431\u0435\u0449\u0430\u043d\u043d\u0430\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u00ab\u0437\u0430 5 \u043c\u0438\u043d\u0443\u0442\u00bb.<\/p>\n<p>  \u041d\u0443-\u0441, \u043f\u043e\u043d\u0435\u0441\u043b\u0430\u0441\u044c!<\/p>\n<pre><code class=\"cs\">\/\/ =====  \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0431\u0430\u0437\u0435 W5100 \u043e\u0442  Wiznet  ====== \/\/   * \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0410\u0440\u0434\u0443\u0438\u043d\u043e\u0432\u0441\u043a\u0438\u0439 Ethernet Shield   \/\/   \u043d\u0430 \u0431\u0430\u0437\u0435 W5100 \/\/===========================================================   #include    &lt;16F77.H&gt;    #fuses HS                  \/\/ \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043a\u0432\u0430\u0440\u0446, \u0432\u044b\u0441\u043e\u043a\u043e\u0447\u0430\u0441\u0442\u043e\u0442\u043d\u044b\u0439  #use   delay(clock=16M) )  \/\/   \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0432\u0430\u0440\u0446 \u043d\u0430 16 \u041c\u0413\u0446                            \/\/  \u0435\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u2013 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c  #use   rs232(baud=19200, xmit=PIN_A2, rcv=PIN_A3) \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u0438\u043d\u044b \u0434\u043b\u044f RS232 \/\/ *  \u0432 CCS \u043a\u043e\u043c\u043f\u0430\u0439\u043b\u0435\u0440\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u00ab printf\u00bb - \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f,  \/\/  \u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c  \u0432\u043e\u043e\u0431\u0449\u0435 \u041b\u042e\u0411\u042b\u0415 \u043f\u0438\u043d\u044b \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \/\/ ** \u043d\u0435 \u0440\u0435\u043a\u043b\u0430\u043c\u0430     \/\/ \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u0438\u043d\u044b PICa  \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a Ethernet  Shield  #define RESET   pin_B2       \/\/ *active LOW #define MISO    pin_B3       \/\/  input #define MOSI    pin_B5       \/\/  output #define SS      pin_B0       \/\/ output.  SlaveSelect,  Active LOW #define SCK     pin_B1       \/\/ output.        \/\/********** \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b   W5100  ********************* \/\/**************************************************************  #define MR    0x0000  \/\/ MODE register  #define GAR0  0x0001  \/\/ GATEWAY Addr register0   (MSB) #define GAR1  0x0002  \/\/ GATEWAY Addr register1 #define GAR2  0x0003  \/\/ GATEWAY Addr register2 #define GAR3  0x0004  \/\/ GATEWAY Addr register3   (LSB)  #define SUBR0 0x0005  \/\/ SUBNET MASK Addr register0  (MSB) #define SUBR1 0x0006  \/\/ SUBNET MASK Addr register1 #define SUBR2 0x0007  \/\/ SUBNET MASK Addr register2 #define SUBR3 0x0008  \/\/ SUBNET MASK Addr register3   (LSB)  \/\/ MAC \u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 #define SHAR0 0x0009  \/\/ SOURCE HARDWARE  Addr register0 (MSB) #define SHAR1 0x000A  \/\/ SOURCE HARDWARE  Addr register1 #define SHAR2 0x000B  \/\/ SOURCE HARDWARE  Addr register2 #define SHAR3 0x000C  \/\/ SOURCE HARDWARE  Addr register3 #define SHAR4 0x000D  \/\/ SOURCE HARDWARE  Addr register4 #define SHAR5 0x000E  \/\/ SOURCE HARDWARE  Addr register5  (LSB)  #define SIPR0 0x000F  \/\/ Source IP  Addr register0  (MSB) #define SIPR1 0x0010  \/\/ Source IP  Addr register1 #define SIPR2 0x0011  \/\/ Source IP  Addr register2 #define SIPR3 0x0012  \/\/ Source IP  Addr register3  (LSB)    #define RMSR  0x001A  \/\/ RX memory size  (1K,2K,4K or 8K per socket, from total 8K) #define TMSR  0x001B  \/\/ TX memory size  (1K,2K,4K or 8K per socket, from total 8K)    \/\/-- \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u044b  Socket0 (* \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e\u0442 \u0421\u043e\u043a\u0435\u0442 )  #define S0_MR   0x0400   \/\/ Socket0 MODE register #define S0_CR   0x0401   \/\/ Socket0 COMMAND register    #define S0_SR   0x0403   \/\/ Socket0 STATUS register  #define S0_PORT0   0x0404   \/\/ Socket0 SOURCE Port register0 (H byte) #define S0_PORT1   0x0405   \/\/ Socket0 SOURCE Port register1 (L byte)     #define S0_TX_FSR0    0x0420   \/\/ Socket0 TX Free SIZE register0 #define S0_TX_FSR1    0x0421   \/\/ Socket0 TX Free SIZE register1  #define S0_TX_RD0    0x0422   \/\/ Socket0 TX Read POINTER register0 #define S0_TX_RD1    0x0423   \/\/ Socket0 TX Read POINTER register1  #define S0_TX_WR0    0x0424   \/\/ Socket0 TX Write POINTER register0 #define S0_TX_WR1    0x0425   \/\/ Socket0 TX Write POINTER register1   #define S0_RX_RSR0  0x0426   \/\/ Socket0 RX Received SIZE register0 (H byte) #define S0_RX_RSR1  0x0427   \/\/ Socket0 RX Received SIZE register1 ( L byte)  #define S0_RX_RD0  0x0428   \/\/ Socket0 RX Read POINTER0  (H byte) #define S0_RX_RD1  0x0429   \/\/ Socket0 RX Read POINTER1  (L byte)    \/\/ ----- \u041a\u043e\u0434\u044b \u043a\u043e\u043c\u0430\u043d\u0434 ( \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432  \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u041a\u043e\u043c\u0430\u043d\u0434 \u0421\u043e\u043a\u0435\u0442\u04300 ) ----- #define OPEN     0x01 #define LISTEN   0x02 #define CONNECT  0x04 #define DISCON   0x08 #define CLOSE    0x10 #define SEND     0x20 #define SEND_MAC   0x21 #define SEND_KEEP   0x02 #define RECV     0x40   \/\/ ----- \u041a\u043e\u0434\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 ( \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0435 STATUS  \u0441\u043e\u043a\u0435\u0442\u04300 ) --- #define SOCK_CLOSED     0x00 #define SOCK_INIT       0x13 #define SOCK_LISTEN     0x14 #define SOCK_ESTABLISHED   0x17 #define SOCK_CLOSE_WAIT    0x1C    \/\/ ---------- \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u00ab\u0441\u0432\u043e\u0438\u00bb \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435  ----------- #define SERVER_IP0   192   \/\/  \u041d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442  192.168.0.155 #define SERVER_IP1   168 #define SERVER_IP2    0     #define SERVER_IP3   155      #define SERVER_PORT0   0   \/\/  \u041d\u0430\u0448 \u043f\u043e\u0440\u0442 \u0431\u0443\u0434\u0435\u0442       :80 #define SERVER_PORT1   80   #define GATEWAY_IP0   192  \/\/ \u0413\u044d\u0439\u0442\u0432\u044d\u0439 \u0430\u0434\u0440\u0435\u0441. \u0415\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u0434\u0440\u0443\u0433\u043e\u0439 - \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 #define GATEWAY_IP1   168 #define GATEWAY_IP2   0 #define GATEWAY_IP3   254  #define SUBNET_MASK0   255  \/\/ \u041c\u0430\u0441\u043a\u0430 \u043f\u043e\u0434\u0441\u0435\u0442\u0438  ( \u0422\u0438\u043f\u043e\u0432\u0430\u044f) #define SUBNET_MASK1   255 #define SUBNET_MASK2   255 #define SUBNET_MASK3   0  #define MAC0   0x00  \/\/ \u041c\u0410\u0421 \u0430\u0434\u0440\u0435\u0441 \u043b\u044e\u0431\u043e\u0439, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e\u0431\u044b \u0432 \u0412\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438 #define MAC1   0x1A  \/\/ \u043d\u0435 \u0431\u044b\u043b\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432  \u0441 \u0442\u0430\u043a\u0438\u043c \u0436\u0435  \u041c\u0410\u0421 #define MAC2   0x2B #define MAC3   0x3C #define MAC4   0x4D #define MAC5   0x5E        \/\/----------- \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438  ---------------  void SSPI_write(int Data);      \/\/ \u0437\u0430\u043f\u0438\u0441\u044c  1 \u0431\u0430\u0439\u0442\u0430 \u0432 W5100   \u0447\u0435\u0440\u0435\u0437 SPI int  SSPI_read ( void);         \/\/ \u0447\u0442\u0435\u043d\u0438\u0435 1 \u0431\u0430\u0439\u0442\u0430 \u0438\u0437 W5100 \u0447\u0435\u0440\u0435\u0437 SPI   void SetW5100register (int16 regaddr, int data);                   \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430(\u0437\u0430\u043f\u0438\u0441\u044c) \u0433\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 W5100  \u0447\u0435\u0440\u0435\u0437 SPI  int  GetW5100register (int16 regaddr);                                \/\/ \u0447\u0442\u0435\u043d\u0438\u0435 \u0431\u0430\u0439\u0442\u0430 \u0438\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 W5100 \u0447\u0435\u0440\u0435\u0437 SPI   void Init (void);          \/\/ \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f W5100  \u0438 \u0421\u0438\u0441\u0442\u0435\u043c\u044b  int Open_Socket0(void);    \/\/ \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043a\u0435\u0442 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 (\u0443\u0434\u0430\u0447\u043d\u043e\/\u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e)  int Listen_Socket0(void);   \/\/ \u0441\u043b\u0443\u0448\u0430\u0435\u0442 \u0441\u043e\u043a\u0435\u0442 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 (\u0443\u0434\u0430\u0447\u043d\u043e\/\u043d\u0435\u0443\u0434\u0430\u0447\u043d\u043e)  int Socket0_Connection_Established (void);         \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043b\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0442\u0430\u0442\u0443\u0441  (\u0434\u0430\/\u043d\u0435\u0442)  int Socket0_Received_Data_Size (void);              \/\/  \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 \u0431\u043b\u043e\u043a\u0430 \u0414\u0410\u041d\u041d\u042b\u0425, \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u043e\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0430 ( 0 \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0442)               void Socket0_Received_Data_Reading (void);            \/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435            \/\/ \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0444-\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u0430   int  Socket0_FIN_Received(void);         \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442  \u043f\u0440\u0438\u0448\u0435\u043b \u043b\u0438 \u043e\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0430 \u0444\u043b\u0430\u0433 FIN  \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0430\/\u043d\u0435\u0442  void Socket0_Disconnect(void);     \/\/ \u043f\u0438\u0448\u0435\u0442 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 W5100  \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0430 \u0440\u0430\u0437\u0440\u044b\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f  int  Socket0_Closed(void);    \/\/ \u043f\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0438\u043b\u0438 \u0421\u043e\u043a\u0435\u0442 \u0417\u0410\u041a\u0420\u042b\u0422 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0430\/\u043d\u0435\u0442            int  Socket0_Connection_Timeout(void);      \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u043b \u043b\u0438 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f  \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0430\/\u043d\u0435\u0442  void Socket0_Closing(void);           \/\/ \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0421\u043e\u043a\u0435\u0442  int  Socket0_Received_Request_is_index_html(void);     \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0438\u043b\u0438  \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u043e\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0430 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b Index.html   \/\/  \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u0430\/\u043d\u0435\u0442   void Socket0_Send_index_html (void);  \/\/ \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0443  \u00ab\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443\u00bb  index.html     void Socket0_Send_404_error (void); \/\/ \u041e\u0442\u0441\u044b\u043b\u0430\u0435\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0443  \u00ab\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443\u00bb  \u00ab\u043e\u0448\u0438\u0431\u043a\u0430 404\u00bb   \/\/------------  \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435  -----------------------------------  int16 S0_RX_BASE;      \/\/  \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 RX \u0431\u0443\u0444\u0435\u0440\u0435 \u0434\u043b\u044f \u0421\u043e\u043a\u0435\u0442\u04300 int16 S0_RX_MASK;      \/\/ \u0420\u0410\u0417\u041c\u0415\u0420 RX  \u0431\u0443\u0444\u0435\u0440\u0430 \u0421\u043e\u043a\u0435\u0442\u04300 int16 S0_RX_OFFSET;    \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 RX \u0431\u0443\u0444\u0435\u0440\u0435  int16 S0_RX_Start_Addr; \/\/ \u0424\u0418\u0417\u0418\u0427\u0415\u0421\u041a\u0418\u0419  \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u043d\u0442\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 RX \u0431\u0443\u0444\u0435\u0440\u0435  int16 S0_RX_RSR ;       \/\/  \u0420\u0410\u0417\u041c\u0415\u0420 \u043f\u0440\u0438\u043d\u044f\u0442\u043e\u0433\u043e \u043e\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0430 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445  int16 S0_TX_BASE;    \/\/ \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u0422X \u0431\u0443\u0444\u0435\u0440\u0435 \u0434\u043b\u044f \u0421\u043e\u043a\u0435\u0442\u04300 int16 S0_TX_MASK;     \/\/ \u0420\u0410\u0417\u041c\u0415\u0420 \u0422X  \u0431\u0443\u0444\u0435\u0440\u0430 \u0421\u043e\u043a\u0435\u0442\u04300 int16 S0_TX_OFFSET ;      \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439  \u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438  \u0422\u0425 \u0431\u0443\u0444\u0435\u0440\u0430, \u043a\u0443\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0431\u043b\u043e\u043a     \/\/ \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u041a\u043b\u0438\u0435\u043d\u0442\u0443    int16 S0_TX_Start_Addr;          \/\/ \u0424\u0418\u0417\u0418\u0427\u0415\u0421\u041a\u0418\u0419  \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0422\u0425 \u0431\u0443\u0444\u0435\u0440\u0430, \u043a\u0443\u0434\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c         \/\/ \u0431\u043b\u043e\u043a  \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u041a\u043b\u0438\u0435\u043d\u0442\u0443    int16 S0_TX_End_Addr;     \/\/ \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0422\u0425 \u0431\u0443\u0444\u0435\u0440\u0430, \u0434\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e W5100    \/\/  \u0434\u043e\u043b\u0436\u0435\u043d \u0434\u043e\u0439\u0442\u0438 \u043f\u0440\u0438 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u043c\u044b\u0445 \u041a\u043b\u0438\u0435\u043d\u0442\u0443   \/\/ --- \u0441\u0442\u0440\u043e\u043a\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043a HTTP  \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0438 \u00ab\u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438\u00bb \/\/ * \u0440\u0430\u0437\u043c\u0435\u0440  \u043c\u0430\u0441\u0441\u0438\u0432\u0430 [222] \u0432\u0437\u044f\u0442 \u0441 \u043f\u043e\u0442\u043e\u043b\u043a\u0430 \u0438 \u0441 \u0437\u0430\u043f\u0430\u0441\u043e\u043c. \u041f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430  \u0440\u0430\u0441\u0447\u0438\u0442\u0430\u0435\u0442  \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0434\u043b\u0438\u043d\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ ** CONST \u2013 \u0447\u0442\u043e\u0431\u044b  \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u041f\u0420\u041e\u0413\u0420\u0410\u041c\u041c\u041d\u041e\u0419 \u043f\u0430\u043c\u044f\u0442\u0438 ( \u0433\u0434\u0435 \u043c\u0435\u0441\u0442\u0430 \u043f\u043e\u043b\u043d\u043e)  CONST  char INDEX[222]  = { &quot;HTTP\/1.1 200 OK\\r\\nContent-Type: text\/html\\r\\nContent-Lenght: 43\\r\\n\\r\\n&lt;HTML&gt;&lt;CENTER&gt;HELLO WORLD !&lt;\/CENTER&gt;&lt;\/HTML&gt;&quot;}; \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0434\u043b\u044f  \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f  \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u00abindex.html\u201d  CONST  char ERROR404[222] = { &quot;HTTP\/1.1 200 OK\\r\\nContent-Type: text\/html\\r\\nContent-Lenght: 39\\r\\n\\r\\n&lt;HTML&gt;&lt;CENTER&gt;ERROR 404&lt;\/CENTER&gt;&lt;\/HTML&gt;&quot;}; \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0434\u043b\u044f  \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f  \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u00ab\u043e\u0448\u0438\u0431\u043a\u0430 404\u201d    \/\/ \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u043b \u0447\u0442\u043e\u0431 \u0431\u044b\u043b\u0430 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0442\u0435, \/\/  \u041c\u043e\u0436\u043d\u043e  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0442\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0434\u043b\u044f \u00ab\u043e\u0448\u0438\u0431\u043a\u0430 404\u00bb, \u043a\u043e\u0434 \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u0432\u0435\u0440\u043d\u044b\u0439, \u043d\u043e... \/\/CONST  char ERROR404[222] = { &quot;HTTP\/1.1 404 Page not found\\r\\nContent-Type: text\/html\\r\\nContent-Lenght: 39\\r\\n\\r\\n&lt;HTML&gt;&lt;CENTER&gt;ERROR 404&lt;\/CENTER&gt;&lt;\/HTML&gt;&quot;}; \/\/ .. \u043d\u043e IExplorer  \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u0432 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 &quot;HTTP\/1.1 404 Page not found&quot;  \/\/ \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442 \u0421\u041e\u0411\u0421\u0422\u0412\u0415\u041d\u041d\u0423\u042e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043e\u0448\u0438\u0431\u043a\u0438, \u0430 \u041d\u0415 \u0442\u0443, \u0447\u0442\u043e \u043c\u044b \u0435\u043c\u0443 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c                int try=0;  \/\/  \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u041d\u043e\u043c\u0435\u0440 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u2013\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443   \/\/===================== MAIN ============================================ \/\/======================================================================= void main() {      Init();   \/\/ \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f  W5100  \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b ( \u0441\u0435\u0440\u0432\u0435\u0440\u0430)     OpenSocket0:       \/\/ooooooooooooooooooo \u041e\u0422\u041a\u0420\u042b\u0412\u0410\u0415\u041c \u0421\u041e\u041a\u0415\u0422 0 oooooooooooooooooooooooo   if ( ! Open_Socket0() ) goto OpenSocket0; \/\/ \u0446\u0438\u043a\u043b \u043f\u043e\u043a\u0430 \u0421\u043e\u043a\u0435\u0442 \u043d\u0435 \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f     \/\/ooooooooooooooooo  \u0421\u041b\u0423\u0428\u0410\u0415\u041c \u0421\u041e\u041a\u0415\u0422  ooooooooooooooooooooooooo   if ( Listen_Socket0() == FALSE ) goto OpenSocket0;              \/\/ \u0435\u0441\u043b\u0438  \u0441\u043e\u043a\u0435\u0442 \u043d\u0435 \u00ab\u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f\u00bb - \u0443\u0445\u043e\u0434\u0438\u043c \u0437\u0430\u043d\u043e\u0432\u043e \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0441\u043e\u043a\u0435\u0442\u0430    \/\/oooooooooooooo \u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0423\u0421\u0422\u0410\u041d\u041e\u0412\u041b\u0415\u041d\u041e ? oooooooooooooo  CheckConnection:     \/\/\u043c\u0435\u0442\u043a\u0430    if (Socket0_Connection_Established() == FALSE ) goto CheckConnection; \/\/ \u0446\u0438\u043a\u043b \u043f\u043e\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f ( \u0442\u043e\u0435\u0441\u0442\u044c \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u0440\u0438\u0434\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430)                         printf(&quot;&gt; Connection Established... \\r\\n&quot;);                    \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c                                                             \/\/ooooooo( \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e)  \u0432 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u0430\u0445 -  \u0414\u0410\u041d\u041d\u042b\u0415? oooooo                                      if  ( Socket0_Received_Data_Size() == 0 )        {       printf(&quot;\\r\\n&gt; (Zero) Received Data size is: %Lu (bytes) \\r\\n&quot;, S0_RX_RSR);                    \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c      goto CheckFIN;   \/\/ \u0440\u0430\u0437 \u0414\u0410\u041d\u041d\u042b\u0425 \u043d\u0435\u0442 \u043e \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u043e\u0442\u0435\u0442 \u043d\u0435\u0447\u0435\u0433\u043e                             \/\/ \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0440\u0430\u0437\u0443 \u0438\u0434\u0435\u043c \u043d\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0444\u043b\u0430\u0433\u0430FIN   }   \/\/ \u0440\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0442 ( \u0440\u0430\u0437\u043c\u0435\u0440=0) \u0442\u043e \u0443\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u044d\u0442\u0430\u043f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f          else        {    printf(&quot;\\r\\n&gt; (NonZero) Received Data size is: %Lu (bytes) \\r\\n&quot;, S0_RX_RSR);                    \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c    }      \/\/ oooooooooo ( \u0414\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u0430\u043a\u0435\u0442\u0435 \u0435\u0441\u0442\u044c) \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438*   ooooooooooooooo   \/\/\u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043f\u0440\u043e\u0441\u0442\u043e  \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \/\/ \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u044d\u0442\u043e\u0442 \u043a\u0443\u0441\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c                    Socket0_Received_Data_Reading();                       \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c                 \/\/ oooooooooooooo  \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u041f\u0415\u0420\u0415\u0414\u0410\u0427\u0418 \u0434\u0430\u043d\u043d\u044b\u0445  ooooooooooooooooooooooooooooooo \/\/ \u0442\u043e\u0435\u0441\u0442\u044c \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0438 HTML \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443    if ( Socket0_Received_Request_is_index_html() ==  TRUE)   Socket0_Send_index_html ();    \/\/ \u0435\u0441\u043b\u0438  \u043a\u043b\u0438\u0435\u043d\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 &quot;index.html&quot;  \u0442\u043e \u043e\u0441\u0442\u044b\u043b\u0430\u0435\u043c \u0435\u043c\u0443  index.html  else  Socket0_Send_404_error ();     \/\/  \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430  \u0442\u043e  \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u043c  \u00ab\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0443\u00bb  \u00ab\u043e\u0448\u0438\u0431\u043a\u0430 404\u00bb          \/\/ooooooooooo    \u041f\u043e\u043b\u0443\u0447\u0435\u043d \u0444\u043b\u0430\u0433  FIN ? ooooooooooooooooooooooooooo  \/\/  \u0442\u043e\u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043b\u0438  \u041a\u043b\u0438\u0435\u043d\u0442 \u0440\u0430\u0437\u0440\u044b\u0432\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f  CheckFIN:  if ( Socket0_FIN_Received() == TRUE) goto  CloseConnection;       \/\/  \u0435\u0441\u043b\u0438 FIN  \u043f\u0440\u0438\u0448\u0435\u043b  - \u0442\u043e  \u0443\u0445\u043e\u0434\u0438\u043c \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0421\u041e\u041a\u0415\u04220      \/\/ooooooooooo    \u0420\u0430\u0437\u0440\u044b\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f   ooooooooooooooooooooooo      Socket0_Disconnect();    \/\/  \u0440\u0430\u0437\u0440\u044b\u0432 \u0421\u041e\u0415\u0414\u0418\u041d\u0415\u041d\u0418\u042f \u0421\u043e\u043a\u0435\u0442\u04300      \/\/ooooooooooo   \u0421\u043e\u043a\u0435\u0442 \u0417\u0410\u041a\u0420\u042b\u0422 ?    ooooooooooooooooooooooooooooooo  if (Socket0_Closed() == TRUE )  goto CloseConnection;     \/\/ \u0435\u0441\u043b\u0438 \u0421\u043e\u043a\u0435\u0442 \u0437\u0430\u043a\u0440\u044b\u0442 \u2013 \u0443\u0445\u043e\u0434\u0438\u043c \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435     \/\/ooooooooooo   \u041d\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b \u043b\u0438 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442 \u043f\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e  ?  ooooooooooooooooooo   if ( Socket0_Connection_Timeout() == TRUE)  goto CloseConnection;   \/\/ \u0441\u043e\u043a\u0435\u0442 \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0442, \u043d\u043e \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b \u0442\u0430\u0439\u043c-\u0430\u0443\u0442, \u2013 \u0443\u0445\u043e\u0434\u0438\u043c \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u043a\u0435\u0442     CloseConnection:  \/\/ooooooooooo   \u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0421\u043e\u043a\u0435\u0442    ooooooooooooooooooooooooooooooooooo     Socket0_Closing();           \/\/oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo       goto OpenSocket0;     \/\/ \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u041a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043e, \u0446\u0438\u043a\u043b \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0441\u044f. \/\/  \u0423\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432\u0441\u0435 \u043f\u043e \u043d\u043e\u0432\u043e\u0439 ( \u0436\u0434\u0435\u043c \u043d\u043e\u0432\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u00ab\u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430\u00bb )   }   \/\/===================  END of MAIN =========================== \/\/============================================================      \/\/--------------------------------------------------------------- \/\/--------------------------INIT ------------------------------- void Init (void) {   output_low(RESET); \/\/  \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u00ab\u0421\u0431\u0440\u043e\u0441\u00bb \u0434\u043b\u044f \u0410\u0440\u0434\u0443\u0438\u043d\u043e\u0432\u0441\u043a\u043e\u0433\u043e Ethernet  \u0448\u0438\u043b\u0434\u0430  delay_ms(1); output_high(RESET);  output_low(SCK);     \/\/ \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u043f\u0438\u043d\u044b (\u0443\u0440\u043e\u0432\u043d\u0438) \u0434\u043b\u044f  SPI output_high(SS) ;  \/\/\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0441\u0431\u0440\u043e\u0441 \u0447\u0438\u043f\u0430 W5100. SetW5100register(MR, 0x80);   \/\/ \u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434  RST  \u0432 W5100 Mode Register    \/\/------------ \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c  \u043f\u0430\u043c\u044f\u0442\u044c (W5100) \u0434\u043b\u044f \u0421\u043e\u043a\u0435\u0442\u0430 0 -------------      SetW5100register(RMSR, 0x55);   \/\/ \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c RX \u0431\u0443\u0444\u0435\u0440: \u043f\u043e 2\u041a\u0411 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043e\u043a\u0435\u0442    S0_RX_BASE = 0x6000;     \/\/  \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 RX  \u0431\u0443\u0444\u0435\u0440\u0430    \u0434\u043b\u044f \u0421\u043e\u043a\u0435\u0442\u04300  S0_RX_MASK = 0x07FF ;   \/\/ (2048 -1 )= 0x07FF, RX \u041c\u0430\u0441\u043a\u0430 ( = \u0434\u043b\u0438\u043d\u0430_\u0431\u0443\u0444\u0435\u0440\u0430 \u2013 1 )   SetW5100register(TMSR, 0x55);   \/\/ \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0422X \u0431\u0443\u0444\u0435\u0440: \u043f\u043e 2\u041a\u0411 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u043e\u043a\u0435\u0442   S0_TX_BASE = 0x4000;  \/\/ \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 TX \u0431\u0443\u0444\u0435\u0440\u0430  \u0434\u043b\u044f \u0421\u043e\u043a\u0435\u0442\u04300   S0_TX_MASK = 0x07FF;  \/\/ (2048 -1 )= 0x07FF, \u0422\u0425 \u041c\u0430\u0441\u043a\u0430 ( = \u0434\u043b\u0438\u043d\u0430_\u0431\u0443\u0444\u0435\u0440\u0430 \u2013 1 )     \/\/------------ \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u0432\u043e\u0439 \u041c\u0410\u0421 \u0430\u0434\u0440\u0435\u0441   -------------- \/\/  \u0442.\u0435.  \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u043c \u0432 \u041c\u0410\u0421 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b W5100  \/\/    \u2013 \u0441\u0432\u043e\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435  \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0440\u0430\u043d\u0435\u0435 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430\u043c\u0438    SetW5100register(SHAR0, MAC0);    SetW5100register(SHAR1, MAC1);   SetW5100register(SHAR2, MAC2);  SetW5100register(SHAR3, MAC3);  SetW5100register(SHAR4, MAC4);  SetW5100register(SHAR5, MAC5);      \/\/------------  \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u0432\u043e\u0439  IP  -------------- \/\/ \u0442\u0430\u043a \u0436\u0435 -  \u0440\u0430\u0441\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u043c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b W5100 \u2013 \u0441\u0432\u043e\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435  SetW5100register(SIPR0, SERVER_IP0); SetW5100register(SIPR1, SERVER_IP1); SetW5100register(SIPR2, SERVER_IP2); SetW5100register(SIPR3, SERVER_IP3);     \/\/------------  \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u0432\u043e\u0439 PORT  -------------- \/\/ \u0442\u0430\u043a \u0436\u0435 \u2013 \u0441\u0432\u043e\u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u2013 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b  SetW5100register(S0_PORT0, SERVER_PORT0); SetW5100register(S0_PORT1, SERVER_PORT1);   \/\/------------ \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c  Gateway addr  -------------- \/\/ \u0442\u0430\u043a \u0436\u0435 \u2013 \u0441\u0432\u043e\u0438 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u2013 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b  SetW5100register(GAR0, GATEWAY_IP0);  SetW5100register(GAR1, GATEWAY_IP1);  SetW5100register(GAR2, GATEWAY_IP2);  SetW5100register(GAR3, GATEWAY_IP3);   \/\/------------ set Subnet Mask  --------------  SetW5100register(SUBR0, SUBNET_MASK0);  SetW5100register(SUBR1, SUBNET_MASK1);  SetW5100register(SUBR2, SUBNET_MASK2);  SetW5100register(SUBR3, SUBNET_MASK3);          printf(&quot; \\r\\n\\r\\n &gt; =============== W5100 \u0412\u0415\u0411-\u0421\u0415\u0420\u0412\u0415\u0420 ==========\\r\\n\\r\\n&quot;);       \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c }      \/\/-------------------------------------------------------------- \/\/-------------  \u041e\u0422\u041a\u0420\u042b\u0422\u0418\u0415 \u0421\u041e\u041a\u0415\u0422\u0410 0  ----------------------------  int Open_Socket0(void) {                   \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c                   printf(&quot; \\r\\n =========== TRY # %u   ====================\\r\\n&quot;, try);                  if (try ==255) try =0;                  else try++;                                                printf(&quot;\\r\\n&gt;  Start Open Socket... \\r\\n&quot;);                             \/\/ \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0421\u043e\u043a\u0435\u0442 \u2013 \u0432 \u0440\u0435\u0436\u0438\u043c \u0422\u0421\u0420, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c  SetW5100register(S0_MR, 0x01);     \/\/ \u0437\u0430\u0441\u044b\u043b\u0430\u0435\u043c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u2013 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u041e\u0422\u041a\u0420\u042b\u0422\u042c ( \u0441\u043e\u043a\u0435\u0442) SetW5100register(S0_CR, OPEN);    \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0438\u043b\u0438 \u0441\u043e\u043a\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u043b\u0441\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e \/\/ * \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0422\u0421\u0420 , \u043f\u043e  \u00abSOCK_INIT\u00bb  \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438\u043b\u0438 \u0441\u043e\u043a\u0435\u0442 \u043e\u0442\u043a\u0440\u044b\u043b\u0441\u044f if (GetW5100register(S0_SR) != SOCK_INIT)  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c STATUS \u0440\u0435\u0433\u0438\u0441\u0442\u0440    {     SetW5100register(S0_CR, CLOSE); \/\/ \u0435\u0441\u043b\u0438 \u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u043b\u0441\u044f \u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c     return FALSE ;                \/\/  \u0438 \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 \u043a\u043e\u0434\u043e\u043c 0    }   return TRUE;     \/\/\u043e\u0442\u043a\u0440\u044b\u043b\u0441\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e.  \u0412\u044b\u0445\u043e\u0434\u0438\u043c \u0441 \u043a\u043e\u0434\u043e\u043c 1 }     \/\/-------------------------------------------------------------- \/\/-------------  \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0421\u043e\u043a\u0435\u04420 \u0432 \u0440\u0435\u0436\u0438\u043c  \u0421\u041b\u0423\u0428\u0410\u0422\u042c  ------------  int Listen_Socket0 (void) {                    printf(&quot;&gt; Sock opened. Go Listen... \\r\\n&quot;);                  \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c   \/\/ \u0437\u0430\u0441\u044b\u043b\u0430\u0435\u043c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u043e\u043a\u0435\u0442\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c \u0421\u041b\u0423\u0428\u0410\u0422\u042c \/\/ *\u0421\u041b\u0423\u0428\u0410\u0422\u042c \u2013 \u0442.\u043a. \u043c\u044b \u2013 \u0421\u0435\u0440\u0432\u0435\u0440, \u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u0442\u0438\u0432\u0430  \u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0430  SetW5100register(S0_CR, LISTEN);     if ( GetW5100register(S0_SR) != SOCK_LISTEN)  \/\/  \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c  \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f  {   SetW5100register(S0_CR, CLOSE); \/\/  \u0435\u0441\u043b\u0438 \u0441\u043e\u043a\u0435\u0442 \u043d\u0435 \u0432\u043e\u0448\u0435\u043b \u0432 \u0440\u0435\u0436\u0438\u043c \u0421\u041b\u0423\u0428\u0410\u0422\u044c   return FALSE;                   \/\/ \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e \u0438 \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 \u043a\u043e\u0434\u043e\u043c 0     }    return TRUE;               \/\/  \u0441\u043e\u043a\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0421\u041b\u0423\u0428\u0410\u0422\u042c,  \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441  \u043a\u043e\u0434\u043e\u043c 1   }   \/\/-------------------------------------------------------------------------- \/\/-------------   \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e  \u043b\u0438  \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441  \u0421\u043e\u043a\u0435\u0442\u043e\u043c0 ? -------- \/\/ * \u0432 \u0441\u043c\u044b\u0441\u043b\u0435 \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 ( \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430)  int Socket0_Connection_Established(void) {  \/\/ \u0435\u0441\u043b\u0438 W5100  \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043e\u043d \u043e\u0442\u0441\u044b\u043b\u0430\u0435\u0442 \u0435\u043c\u0443 \u043f\u0430\u043a\u0435\u0442  \/\/ \u0441  \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u043c \u0444\u043b\u0430\u0433\u043e\u043c ACK \u0438  \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u0443\u0441\u0442 \u043d\u0430 SOCK_ESTABLISHED \/\/ (\u00ab\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u043e\u043a\u0435\u0442\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e) \/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043b\u0438\u0431\u043e  \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0431\u0438\u0442\u0430 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439,  \/\/ \u043b\u0438\u0431\u043e \u043a\u0430\u043a \u0437\u0434\u0435\u0441\u044c -  \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439  \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f   if  ( GetW5100register(S0_SR) == SOCK_ESTABLISHED)  return TRUE ;  \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f.   \/\/ \u0415\u0441\u043b\u0438  \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u0431\u0438\u0442\u043e\u0432 (\u043a\u043e\u0434) = \u00abSOCK_ESTABLISHED\u00bb \u0442\u043e \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 1  else return FALSE;     \/\/ \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u2013 \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 \u043a\u043e\u0434\u043e\u043c 0                      printf(&quot;&gt; Connection Established... \\r\\n&quot;);                  \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c   \/\/ *\u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e,  \u0441\u043e\u043a\u0435\u0442 \u0433\u043e\u0442\u043e\u0432 \u043a \u043f\u0440\u0438\u0435\u043c\u0443\/\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0434\u0430\u043d\u043d\u044b\u0445  }    \/\/----    \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u044b\u043b\u0438 \u043b\u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u044b \u0414\u0410\u041d\u041d\u042b\u0415 ------------- \/\/-----------------------------------------------------  \/\/ * \u00ab\u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435\u00bb \u043f\u0430\u043a\u0435\u0442\u044b \u043c\u0435\u0436\u0434\u0443 \u0441\u0442\u043e\u0440\u043e\u043d\u0430\u043c\u0438  \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0438 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \/\/ \u043d\u043e \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0431\u044b\u043b\u0438 \u043b\u0438 \u0432 \u043d\u0438\u0445 \u0438\u043c\u0435\u043d\u043d\u043e \u0414\u0410\u041d\u041d\u042b\u0415 \/\/  (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u043f\u0440\u043e\u0441  \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\/\u0444\u0430\u0439\u043b\u0430  \u0441 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430)   int Socket0_Received_Data_Size (void)    \/\/ \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435  \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442   \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 = \u041d\u041e\u041b\u042c \u0438\u043b\u0438 \u043d\u0435\u0442  {  S0_RX_RSR = make16 (GetW5100register(S0_RX_RSR0), GetW5100register(S0_RX_RSR1) );   \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0434\u0432\u0430  8-\u0431\u0438\u0442\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445  \/\/ RSR0 \u2013 \u0441\u0442\u0430\u0440\u0448 \u0431\u0430\u0439\u0442, RSR1 \u2013 \u043c\u043b\u0430\u0434\u0448 \u0431\u0430\u0439\u0442 \/\/ \u0438 \u00ab\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u00bb 16-\u0431\u0438\u0442\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e -  \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445                   printf(&quot;&gt; Received Data size is: %Lu (bytes) \\r\\n&quot;, S0_RX_RSR);                  \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c  if (S0_RX_RSR == 0 ) return FALSE;   \/\/ \u043d\u0435\u0442 \u0414\u0410\u041d\u041d\u042b\u0425 ( \u0442.\u0435. \u0440\u0430\u0437\u043c\u0435\u0440=0 )                                      \/\/ \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 \u043a\u043e\u0434\u043e\u043c 0  else  return TRUE;    \/\/ \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 ( \u0442.\u0435. \u0434\u0430\u043d\u043d\u044b\u0435  -\u0435\u0441\u0442\u044c)                       \/\/ \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 \u043a\u043e\u0434\u043e\u043c 1    }  \/\/---------- \u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0414\u0410\u041d\u041d\u042b\u0425 --------------- \/\/------------------------------------------------------------ \/\/ * \u0444\u0443\u043d\u043a\u0446\u0438\u044f  \u043f\u043e\u043b\u0435\u0437\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435.  \u0415\u0435 \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c  void Socket0_Received_Data_Reading (void)  {  int16 n;   int RXbyte;     S0_RX_OFFSET = make16 ( GetW5100register(S0_RX_RD0), GetW5100register(S0_RX_RD1) );   \/\/ \u0438\u0437 \u0434\u0432\u0443\u0445  8-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432  \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u043c  16 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e - \/\/ \u0423\u041a\u0410\u0417\u0410\u0422\u0415\u041b\u042c \u043d\u0430  \u043d\u0430\u0447\u0430\u043b\u043e  \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 RX \u0431\u0443\u0444\u0435\u0440\u0435  \u0441\u043e\u043a\u0435\u0442\u04300                    printf(&quot;&gt; S0_RX_RD (RX mem read pointer) = %LX \\r\\n&quot;, make16 ( GetW5100register(S0_RX_RD0), GetW5100register(S0_RX_RD1) )  );            S0_RX_OFFSET = (S0_RX_OFFSET & S0_RX_MASK ) ;  \/\/ \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u043c \u043b\u0438\u0448\u043d\u0435\u0435  \u0447\u0442\u043e\u0431\u044b  \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0441\u044f \u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434 \u0421\u043e\u043a\u0435\u04420 \u0431\u0443\u0444\u0435\u0440\u0430                   printf(&quot;&gt; S0_RX_Offset = S0_RX_RD & S0_RX_MASK = %LX \\r\\n\\r\\n&quot;,S0_RX_OFFSET );         S0_RX_Start_Addr = S0_RX_OFFSET + S0_RX_BASE ;  \/\/\u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0424\u0418\u0417\u0418\u0427\u0415\u0421\u041a\u0418\u0419 \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0447\u0430\u043b\u0430  \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0445\u0440\u0430\u043d\u044f\u0449\u0435\u0439 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435                    printf(&quot;&gt; S0_RX_Start_Addr = S0_RX_OFFSET + S0_RX_BASE = %LX (physical)\\r\\n\\r\\n&quot;, S0_RX_Start_Addr );                      printf(&quot;&gt;  Going  to print-out Received Data... \\r\\n\\r\\n&quot;);                   printf(&quot;ooooooooooooooooooooooooooooooooooooooooooo\\r\\n&quot;);   for (n=0; n &lt; S0_RX_RSR ; n++)     {       if ( S0_RX_Start_Addr &gt; (S0_RX_BASE + S0_RX_MASK)  )  S0_RX_Start_Addr = S0_RX_BASE;     RXbyte = GetW5100register(S0_RX_Start_Addr);                          printf(&quot;%c&quot;, RXbyte);     S0_RX_Start_Addr++;    }                     printf(&quot;\\r\\noooooooooooooooo END of  received data oooooooooooooo\\r\\n\\r\\n&quot;);                       }   \/\/ --- \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0438\u043b\u0438 \u043e\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0430 \u043f\u0440\u0438\u0448\u0435\u043b \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 INDEX.HTML  \u0444\u0430\u0439\u043b ------ \/\/----------------------------------------------------------------------  int Socket0_Received_Request_is_index_html(void)   { int RXbyte=0;   S0_RX_OFFSET = make16 ( GetW5100register(S0_RX_RD0), GetW5100register(S0_RX_RD1) );   \/\/ \u0438\u0437 \u0434\u0432\u0443\u0445  8-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432  \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u043c  16 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e - \/\/ \u0423\u041a\u0410\u0417\u0410\u0422\u0415\u041b\u042c \u043d\u0430  \u043d\u0430\u0447\u0430\u043b\u043e  \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 RX \u0431\u0443\u0444\u0435\u0440\u0435  \u0441\u043e\u043a\u0435\u0442\u04300       S0_RX_OFFSET = (S0_RX_OFFSET & S0_RX_MASK ) ; \/\/ \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u043c \u043b\u0438\u0448\u043d\u0435\u0435  \u0447\u0442\u043e\u0431\u044b  \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0441\u044f \u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434 \u0421\u043e\u043a\u0435\u04420 \u0431\u0443\u0444\u0435\u0440\u0430     S0_RX_Start_Addr = S0_RX_OFFSET + S0_RX_BASE ;   \/\/\u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0424\u0418\u0417\u0418\u0427\u0415\u0421\u041a\u0418\u0419 \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0447\u0430\u043b\u0430  \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0445\u0440\u0430\u043d\u044f\u0449\u0435\u0439 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435                         printf(&quot;\\r\\n&gt;----------- parsing HTTP header-------------\\r\\n&quot;);                  \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c     while (RXbyte != 0x2F)   \/\/ \u0438\u0449\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439  &quot;\/&quot;  \u0432 HTTP  \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435  {        if ( S0_RX_Start_Addr &gt; (S0_RX_BASE + S0_RX_MASK)  )  S0_RX_Start_Addr = S0_RX_BASE; \/\/ \u043d\u0430\u0447\u0430\u043b\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043c \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u0435  \u0431\u0443\u0444\u0435\u0440\u0430 \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u043d\u0435 \u0434\u043e\u0448\u043b\u0438  \u043b\u0438 \u0434\u043e \u041a\u041e\u041d\u0426\u0410  \u0431\u0443\u0444\u0435\u0440\u0430 \/\/ \u0435\u0441\u043b\u0438 \u0434\u0430 \u2013 \u0438\u0434\u0435\u043c \u0432 \u0441\u0430\u043c\u043e\u0435 \u041d\u0410\u0427\u0410\u041b\u041e \u0431\u0443\u0444\u0435\u0440\u0430 \u2013 \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430     RXbyte = GetW5100register(S0_RX_Start_Addr);   \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0438\u0437 \u0431\u0443\u0444\u0435\u0440\u0430 RX \u0431\u0430\u0439\u0442,  \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439  \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0421\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0439\u0410\u0414\u0440\u0435\u0441                             printf(&quot;%c&quot;, RXbyte);                  \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c      S0_RX_Start_Addr++;  \/\/ \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0410\u0434\u0440\u0435\u0441 \u2013 \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449 \u044e\u0430\u0439\u0442    }   \/\/ \u0440\u0430\u0437 \u043c\u044b \u0437\u0434\u0435\u0441\u044c \u0437\u043d\u0430\u0447\u0438\u0442 \u0443\u0436\u0435 \u0434\u043e\u0448\u043b\u0438 (\u00ab\u043e\u0442\u043b\u043e\u0432\u0438\u043b\u0438\u00bb) \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u201c\/\u201d \/\/ \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0410\u0434\u0440\u0435\u0441  \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430 &quot;\/&quot;  \u0441\u0438\u043c\u0432\u043e\u043b.   \/\/ \u0420\u0430\u0434\u0438 \u043d\u0435\u0433\u043e \u0438 \u0437\u0430\u0442\u0435\u0432\u0430\u043b\u0441\u044f \u0432\u0435\u0441\u044c \u0441\u044b\u0440-\u0431\u043e\u0440      RXbyte = GetW5100register(S0_RX_Start_Addr); \/\/\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u044d\u0442\u043e\u0442  \u0441\u0438\u043c\u0432\u043e\u043b                 printf(&quot;\\r\\n&gt; -------- END of parsing HTTP header -------\\r\\n&quot;);                  \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c          if (RXbyte == 0x20)  return TRUE;   \/\/ \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u00ab\u043f\u0440\u043e\u0431\u0435\u043b\u00bb  - \u0437\u043d\u0430\u0447\u0438\u0442 \u043a\u043b\u0438\u0435\u043d\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \u0431\u0435\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u0442\u043e\u0435\u0441\u0442\u044c index.html \/\/  \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 \u043a\u043e\u0434\u043e\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f 1       else return FALSE;                 \/\/ \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0431\u044b\u043b \u043d\u0435 \u043f\u0440\u043e\u0431\u0435\u043b \u0430 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0438\u043c\u0432\u043e\u043b, \u0437\u043d\u0430\u0447\u0438\u0442  \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u041d\u0415 index.html \/\/ \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 \u043a\u043e\u0434\u043e\u043c \u043e\u0448\u0438\u0431\u043a\u0438 - 0  }      \/\/------   \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u041a\u043b\u0438\u0435\u043d\u0442\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u00ab\u043e\u0448\u0438\u0431\u043a\u0430 404\u00bb ------------ \/\/-------------------------------------------------------------  \/\/ \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0422\u0425 \u0431\u0443\u0444\u0435\u0440 \u0441\u043e\u043a\u0435\u0442\u04300  \u0431\u043b\u043e\u043a\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430 \u0438   HTML  \u043a\u043e\u0434\u0430 \/\/  \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u00ab\u043e\u0448\u0438\u0431\u043a\u0430 404\u00bb,  \u0437\u0430\u0442\u0435\u043c  \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c W5100  \u043d\u0430\u0447\u0430\u043b\u043e \u0438 \u043a\u043e\u043d\u0435\u0446  \/\/ \u044d\u0442\u043e\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435,  \u0438 \u0434\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443  \u041e\u0422\u041e\u0421\u041b\u0410\u0422\u042c  void Socket0_Send_404_error (void)  {   int16 n; char TXbyte; int16 datalength;      S0_TX_OFFSET = make16 ( GetW5100register(S0_TX_RD0), GetW5100register(S0_TX_RD1) );  \/\/ \u0438\u0437 \u0434\u0432\u0443\u0445  8-\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432  \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u043c  16 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e - \u0423\u041a\u0410\u0417\u0410\u0422\u0415\u041b\u042c  \/\/ \u043d\u0430  \u043c\u0435\u0441\u0442\u043e, \u043e\u0442\u043a\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c \u0431\u043b\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0422X \u0431\u0443\u0444\u0435\u0440\u0435  \u0441\u043e\u043a\u0435\u0442\u04300         S0_TX_OFFSET = (S0_TX_OFFSET & S0_TX_MASK ) ; \/\/ \u043e\u0442\u0441\u0435\u043a\u0430\u0435\u043c \u043b\u0438\u0448\u043d\u0435\u0435  \u0447\u0442\u043e\u0431\u044b  \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0441\u044f \u0432 \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0434 \u0421\u043e\u043a\u0435\u04420 \u0431\u0443\u0444\u0435\u0440\u0430         S0_TX_Start_Addr = S0_TX_OFFSET + S0_TX_BASE ; \/\/\u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0424\u0418\u0417\u0418\u0427\u0415\u0421\u041a\u0418\u0419 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0434\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u0422\u0425       \/\/\u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0414\u041b\u0418\u041d\u0423 \u0441\u0442\u0440\u043e\u043a\u0438  \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0439 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0438 HTML  \u043a\u043e\u0434\u044b   datalength=0;   while ( ERROR404[datalength] !=0) datalength++;   \/\/ \u043f\u043e\u043f\u0440\u043e\u0441\u0442\u0443  \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u00abdatalength\u00bb \u043f\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0442\u043a\u043d\u0435\u043c\u0441\u044f \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 0\u044500 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \/\/  (0\u044500 -  \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043a\u043e\u043d\u0446\u0430 \u0434\u0430\u043d\u043d\u044b\u0445)       \/\/ \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b W5100 \u043f\u0435\u0440\u0435\u0434\u0430\u043b\u0430 \u0431\u043b\u043e\u043a \u0414\u0430\u043d\u043d\u044b\u0445, \u0435\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c  \/\/ \u0432 \u0422\u0425 \u0431\u0443\u0444\u0435\u0440\u0435 \u0421\u043e\u043a\u0435\u0442\u0430, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0430\u0434\u0440\u0435\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043c\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u043b\u0438 \u0440\u0430\u043d\u0435\u0435. \/\/ \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e, W5100 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c   \u041a\u041e\u041d\u0415\u0426 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435.  \/\/ \u0423\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u043d\u0435\u0446 \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u044b \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432 \u0441\u043e\u043e\u0442\u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 W5100:   \/\/ \u0412\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0435\u043c \u0438\u0437 \u043f\u0430\u0440\u044b \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 - \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u043a\u043e\u043d\u0446\u0430 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0445 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \/\/ \u0438 \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u043c \u0438\u0437 \u043d\u0438\u0445  2-\u0431\u0430\u0439\u0442\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \/\/ *( \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e  \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0424\u0418\u0417\u0418\u0427\u0415\u0421\u041a\u041e\u0413\u041e \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u00ab\u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c\u00bb \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u043c \u0430\u0434\u0440\u0435\u0441\u0430)   S0_TX_End_Addr = make16 ( GetW5100register(S0_TX_WR0), GetW5100register(S0_TX_WR1) );    \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u043c\u0443\u0441\u044f -  \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u0443\u044e \u0440\u0430\u043d\u0435\u0435 \u0434\u043b\u0438\u043d\u0443 \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445       S0_TX_End_Addr += datalength ;      \/\/ increment to  fatalength    \/\/ \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0435\u0441\u044f  \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 ( \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043a\u043e\u043d\u0435\u0446 \u043d\u0430\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445) \u0432\u043d\u043e\u0432\u044c \u00ab\u0440\u0430\u0441\u043a\u043b\u0435\u0438\u0438\u0432\u0430\u0435\u043c\u00bb     \/\/ \u043d\u0430  2 \u0431\u0430\u0439\u0442\u0430 \u0438  \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432  \u0441\u043e\u043e\u0442\u0432  \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b          SetW5100register(S0_TX_WR0, make8( S0_TX_End_Addr ,1) );  \/\/ \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442        SetW5100register(S0_TX_WR1, make8( S0_TX_End_Addr,0) );  \/\/ \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442                           printf(&quot;\\r\\n&gt;Data length is: %Lu \\r\\n&quot;, datalength);                  printf(&quot;\\r\\n&gt;--- Filling TX buffer  w  data: -----------\\r\\n&quot;);                  \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c                \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e  \u0431\u0443\u0444\u0435\u0440\u0430 \u0422\u0425 \u2013 \u043d\u0430\u0448\u0438\u043c\u0438  \u0434\u0430\u043d\u043d\u044b\u043c\u0438 For (n=0; n &lt; datalength; n++)  \/\/ \u0446\u0438\u043a\u043b  \u043d\u0430 \u0434\u043b\u0438\u043d\u0443 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445   {      TXbyte = ERROR404[n];   \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u0439\u0442 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438,  \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u0432\u0435\u0441\u044c \u043a\u043e\u0434 \u00ab\u0432\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\u00bb \/\/ ( HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0438  HTML \u043a\u043e\u0434\u044b)    \/\/ \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u00ab\u0432\u044b\u0434\u0430\u043d\u043d\u044b\u0439\u00bb \u043d\u0430\u043c \u043e\u0442 W5100  \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0422\u0425 \u0431\u0443\u0444\u0435\u0440\u0435   \/\/ \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0442\u044c \u0441  \u043d\u0430\u0447\u0430\u043b\u043e\u043c  \u0431\u0443\u0444\u0435\u0440\u0430, \u0430  \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 10 \u0431\u0430\u0439\u0442\u0430\u0445 \/\/ \u043e\u0442 \u043a\u043e\u043d\u0446\u0430 \u0431\u0443\u0444\u0435\u0440\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u043d\u0430\u0448\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u043d\u0435 \u0432\u044b\u043b\u0435\u0437\u043b\u0438  \u043b\u0438  \u043c\u044b \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0443\u0444\u0435\u0440\u0430     if (S0_TX_Start_Addr  &gt; (S0_TX_BASE + S0_TX_MASK)) S0_TX_Start_Addr = S0_TX_BASE;  \/\/ .. \u0438 \u0435\u0441\u043b\u0438  \u0434\u043e\u0448\u043b\u0438 \u0434\u043e \u043a\u0440\u0430\u044f \u0431\u0443\u0444\u0435\u0440\u0430 \u2013 \u0442\u043e   \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441 \u041d\u0410\u0427\u0410\u041b\u0410 \u0431\u0443\u0444\u0435\u0440\u0430  \/\/ * W5100  \u0432 \u043a\u0443\u0440\u0441\u0435 \u044d\u0442\u0438\u0445 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0439 (\u044d\u0442\u043e  \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u044b\u043b\u0430  \u0435\u0435  \u0438\u0434\u0435\u044f \u0430 \u043d\u0435 \u043d\u0430\u0448\u0430 ))\u0438 \u043a\u043e\u0433\u0434\u0430 \/\/\u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435  - \u0442\u0430\u043a\u0436\u0435, \u0432  \u0441\u043b\u0443\u0447\u0430\u0435, \u043a\u043e\u0433\u0434\u0430 \u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u0431\u0443\u0444\u0435\u0440\u0430   \/\/( \u0438\u043c\u0435\u043d\u043d\u043e \u0411\u0423\u0424\u0415\u0420\u0410,  \u0430 \u041d\u0415 \u0434\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u041a\u041e\u041d\u0415\u0426 \u0414\u0430\u043d\u043d\u044b\u0445) \u2013 \u0442\u0430\u043a\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \/\/  \u043e\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0443\u0444\u0435\u0440\u0430     \/\/ \u0441 \u0422\u0415\u041a\u0423\u0429\u0418\u041c \u0430\u0434\u0440\u0435\u0441\u043e\u043c  \u0437\u0430\u043f\u0438\u0441\u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u043c\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0432\u044b\u0448\u0435  \/\/ \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0438\u0448\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u0439\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 \u0432  \u0441\u043e\u043e\u0442\u0432  \u044f\u0447\u0435\u0439\u043a\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u0431\u0443\u0444\u0435\u0440\u0430 \u0422\u0425    SetW5100register( S0_TX_Start_Addr, TXbyte ) ;                                              putc(TXbyte);                        \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c    S0_TX_Start_Addr++ ;   \/\/ \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 (\u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445)      }                               printf(&quot;\\r\\n&gt;--- end of  Filling  -----------\\r\\n&quot;);                     \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c  \/\/ \u0432\u0441\u0435, \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u044b \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u043b\u0438 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435,  \/\/ \u0443\u043a\u0430\u0437\u0430\u043b\u0438, \u0433\u0434\u0435 \u043d\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f, \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0438\u0445 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c            \/\/  \u0437\u0430\u0441\u044b\u043b\u0430\u0435\u043c \u0432 \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u041a\u043e\u043c\u0430\u043d\u0434 \u0441\u043e\u043a\u0435\u0442\u0430  - \u043a\u043e\u043c\u0430\u043d\u0434\u0443 SEND       SetW5100register(S0_CR, SEND);                                   printf(&quot;&gt; Data was  sent \\r\\n\\r\\n&quot;);                     \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c  }   \/\/-----------------------------------------------------------  \/\/-- \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u041a\u043b\u0438\u0435\u043d\u0442\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u00abindex.html\u00bb --------------- \/\/------------------------------------------------------------------- void Socket0_Send_index_html (void) \/\/ send index.html &quot;page&quot;  index.html {  \/\/ \u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0441\u0442\u0430\u043d\u0443 \u2013 \u0432\u0441\u0435 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u043a\u0430\u043a \u043f\u0440\u0438 \u043f\u043e\u0441\u044b\u043b\u043a\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u00ab\u043e\u0448\u0438\u0431\u043a\u0430 404\u00bb \/\/ \u0442\u043e\u043b\u044c\u043a\u043e  \u00ab\u0441\u0442\u0440\u043e\u043a\u0430\u00bb  \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0430\u044f  HTTP  \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0438  HTML  \u043a\u043e\u0434\u044b \u2013 \u0434\u0440\u0443\u0433\u0430\u044f  int16 n; char TXbyte; int16 datalength;                      printf(&quot;\\r\\n&gt;......  going to send INDEX.HTML.....\\r\\n&quot;);                     \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c    S0_TX_OFFSET = make16 ( GetW5100register(S0_TX_RD0), GetW5100register(S0_TX_RD1) );  \/\/ \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u043c  2-\u0431\u0430\u0439\u0442\u043d\u044b\u0439 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c \u0430\u0434\u0440\u0435\u0441 \u0434\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445         S0_TX_OFFSET = (S0_TX_OFFSET & S0_TX_MASK ) ;         S0_TX_Start_Addr = S0_TX_OFFSET + S0_TX_BASE ;   \/\/ \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0424\u0418\u0417\u0418\u0427\u0415\u0421\u041a\u0418\u0419  \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441  \u0434\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445                      printf(&quot;\\r\\n  INDEX[i], datalegth -------------\\r\\n&quot;);                     \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c                 \/\/\u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0414\u041b\u0418\u041d\u0423 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445   datalength=0;    while ( INDEX[datalength] !=0) datalength++;   \/\/ \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0434\u043b\u0438\u043d\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u2013 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u0439\u0434\u0435\u043c \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e  0\u044500 \u2013 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 \u043a\u043e\u043d\u0446\u0430 \u0434\u0430\u043d\u043d\u044b\u0445                        printf(&quot;%c  %Lu &quot;,INDEX[datalength], datalength );                       \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c                                 \/\/ \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432  W5100  \u0423\u041a\u0410\u0417\u0410\u0422\u0415\u041b\u042c  \u043d\u0430 \u041a\u041e\u041d\u0415\u0426 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443  S0_TX_End_Addr = make16 ( GetW5100register(S0_TX_WR0), GetW5100register(S0_TX_WR1) );  \/\/ \u00ab\u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u043c\u00bb \u0432\u043c\u0435\u0441\u0442\u0435 2 \u0431\u0430\u0439\u0442\u0430 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e  \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f        S0_TX_End_Addr += datalength ;      \/\/ increment to  fatalength       \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u043b\u0438\u043d\u0443 \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445   \/\/ \u043d\u043e\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430\u043d\u043e\u0432\u043e \u0440\u0430\u0441\u043f\u0438\u0445\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u0434\u0432\u0443\u043c 1-\u0431\u0430\u0439\u0442\u043d\u044b\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u043c            SetW5100register(S0_TX_WR0, make8( S0_TX_End_Addr ,1) );  \/\/ \u0441\u0442\u0430\u0440\u0448 \u0431\u0430\u0439\u0442       SetW5100register(S0_TX_WR1, make8( S0_TX_End_Addr,0) );  \/\/ \u043c\u043b\u0430\u0434\u0448 \u0431\u0430\u0439\u0442                                      printf(&quot;\\r\\n&gt;Data length is: %Lu \\r\\n&quot;, datalength);                   printf(&quot;\\r\\n&gt;--- Filling TX buffer  w  data: -----------\\r\\n&quot;);                     \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c                     \/\/ \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0431\u0443\u0444\u0435\u0440 \u2013 \u043d\u0430\u0448\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043d\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 For (n=0; n &lt; datalength; n++)   {    TXbyte= INDEX[n];  \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u0439\u0442 \u0438\u0437 \u0441\u0442\u0440\u043e\u043a\u0438  \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0439 \u00ab\u0432\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443\u00bb  index.html \/\/ (\u0442.\u0435.   HTTP Header  + HTML code)      if (S0_TX_Start_Addr  &gt; (S0_TX_BASE + S0_TX_MASK)) S0_TX_Start_Addr = S0_TX_BASE;   \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0435 \u0434\u043e\u0448\u043b\u0438 \u043b\u0438 \u0434\u043e \u043a\u0440\u0430\u044f \u0431\u0443\u0444\u0435\u0440\u0430, \u0438 \u0435\u0441\u043b\u0438 \u0434\u0430 \u2013 \u043f\u0435\u0440\u0435\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u043e      SetW5100register( S0_TX_Start_Addr, TXbyte ) ;      \/\/ \u0437\u0430\u0440\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u0439\u0442 \u0431\u043b\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 ( \u00ab\u0432\u0435\u0431 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\u00bb) \u2013 \u0432  \u0431\u0443\u0444\u0435\u0440 \u0422\u0425                      putc(TXbyte);  \/\/ printout to Terminal ( for testing purpose)                       \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c       S0_TX_Start_Addr++ ;   \/\/ \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0422\u0425 \u0431\u0443\u0444\u0435\u0440\u0430      }                              printf(&quot;\\r\\n&gt;--- end of  Filling  -----------\\r\\n&quot;);                     \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c        \/\/ \u0431\u0443\u0444\u0435\u0440 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d \u043d\u0430\u0448\u0438\u043c \u0431\u043b\u043e\u043a\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u043e\u0436\u043d\u043e \u0438\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u041a\u043b\u0438\u0435\u043d\u0442\u0443      \/\/  \u043f\u0438\u0448\u0435\u043c \u0432 \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u041a\u043e\u043c\u0430\u043d\u0434 \u0441\u043e\u043a\u0435\u0442\u0430 - \u043a\u043e\u043c\u0430\u043d\u0434\u0443 SEND       SetW5100register(S0_CR, SEND);                                    printf(&quot;&gt; Data was  sent \\r\\n\\r\\n&quot;);                     \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c  }  \/\/--------------------------------------------------------     \/\/--- \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u0438 \u043f\u0430\u043a\u0435\u0442, \u043f\u0440\u0438\u0448\u0435\u0434\u0448\u0438\u0439 \u043e\u0442 \u041a\u043b\u0438\u0435\u043d\u0442\u0430,  \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u043b\u0430\u0433 FIN ? ------ \/\/-----------------------------------------------------------------------------  int Socket0_FIN_Received(void) {  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c  \u043d\u0435 \u043f\u043e\u0436\u0435\u043b\u0430\u043b \u043b\u0438  \u043a\u043b\u0438\u0435\u043d\u0442 \u0440\u0430\u0437\u0440\u044b\u0432\u0430 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439 (\u0442\u043e\u0435\u0441\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f) \/\/ \u043f\u043e\u0441\u043b\u0430\u0432 \u043d\u0430\u043c  \u0444\u043b\u0430\u0433 FIN  -  \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0430\u0437\u0440\u044b\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f  \/\/ \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0431\u0438\u0442\u0430 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \/\/ \u043b\u0438\u0431\u043e \u043a\u0430\u043a \u0437\u0434\u0435\u0441\u044c \u2013 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443  \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0421\u043e\u043a\u0435\u0442\u04300   \/\/ \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441  1  \u0435\u0441\u043b\u0438  FIN \u043f\u0440\u0438\u0448\u0435\u043b  \u0438  \u0441 0  \u0435\u0441\u043b\u0438  FIN\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e if ( GetW5100register(S0_SR) == SOCK_CLOSE_WAIT) return TRUE; else return FALSE;  }   \/\/---------------------------------------------------------     \/\/ ------ \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u0435\u043c \u0421\u041e\u0415\u0414\u0418\u041d\u0415\u041d\u0418\u0415 \u0434\u043b\u044f  Socket0   ----------------- \/\/------------------------------------------------------------- void Socket0_Disconnect(void) {   \/\/  \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u043e\u043a\u0435\u0442 \u043e\u0442 \u0421\u041e\u0415\u0414\u0418\u041d\u0415\u041d\u0418\u042f \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c \/\/ \u0437\u0430\u0441\u043b\u0430\u0432 \u0441\u043e\u043e\u0442\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0432 \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u041a\u043e\u043c\u0430\u043d\u0434  \u0441\u043e\u043a\u0435\u0442\u04300  SetW5100register(S0_CR, DISCON);  }      \/\/ ------  \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043b\u0438 \u0421\u043e\u043a\u0435\u04420 \u0417\u0410\u041a\u0420\u042b\u0422 -------------------- \/\/-------------------------------------------------------- int Socket0_Closed(void) { \/\/ \u0421\u043e\u043a\u0435\u0442 \u043c\u043e\u0436 \u0431\u044b\u0442\u044c \u0437\u0430\u043a\u0440\u044b\u0442 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0441\u044b\u043b\u043a\u0438 \u043d\u0430\u043c\u0438 \u0432 \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u041a\u043e\u043c\u0430\u043d\u0434 \u0421\u043e\u043a\u0435\u0442\u0430 \/\/  \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0417\u0410\u041a\u0420\u042b\u0422\u044c (CLOSE), \u0438\u043b\u0438  \u043f\u043e\u0441\u043b\u0435 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0430, \u0438\u043b\u0438  \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043b\u0438  \u0421\u043e\u043a\u0435\u04420 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0442  \/\/ * \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443  \u0431\u0438\u0442\u0430 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439, \/\/ \u043b\u0438\u0431\u043e \u043a\u0430\u043a \u0437\u0434\u0435\u0441\u044c -  \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f    If  ( GetW5100register(S0_SR) == SOCK_CLOSED) return TRUE; else return FALSE; \/\/ \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 1  \u0435\u0441\u043b\u0438 \u0421\u043e\u043a\u0435\u0442 (\u0438\u043b\u0438 \u0421\u041e\u0415\u0414\u0418\u041d\u0415\u041d\u0418\u0415 \u0441\u043e\u043a\u0435\u0442\u04300) \u0437\u0430\u043a\u0440\u044b\u0442\u043e \/\/ \u043b\u0438\u0431\u043e \u0441 0 \u0435\u0441\u043b\u0438 \u0441\u043e\u043a\u0435\u0442  \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u043b\u0441\u044f   }        \/\/ -----  \u043d\u0435\u0442 \u043b\u0438 \u0422\u0410\u0419\u041c-\u0410\u0423\u0422\u0430 \u043f\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e \u0421\u043e\u043a\u0435\u0442\u04300 ? ------------ \/\/-------------------------------------------------------------  int Socket0_Connection_Timeout(void) { \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430 \u043b\u0438\u043d\u0438\u0438 \u043e\u0448\u0438\u0431\u043a\u0438, \u0438\u043b\u0438  \u043a\u043b\u0438\u0435\u043d\u0442 \u0445\u043e\u0447\u0435\u0442 \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0438\u043b\u0438  \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0434\u0430\u0432\u043d\u043e \/\/ \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442   \u0438\u0442\u043f \u2013 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442 \/\/  \u0438\u043d\u0430\u0447\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e,  \u0435\u0441\u043b\u0438 \u043d\u0430\u0448  \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u043f\u0430\u043a\u0435\u0442\u044b \/\/ ( \u0441  \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 TCP \u0444\u043b\u0430\u0433\u0430\u043c\u0438 ) \u0432 \u0442\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f  \/\/ \u0434\u043b\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043e\u0431\u043c\u0435\u043d\u0430 \u043f\u0430\u043a\u0435\u0442\u0430\u043c\u0438   \/\/ \u0442\u0430\u0439\u043c-\u0430\u0443\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u0447\u0435\u0440\u0435\u0437 \u0431\u0438\u0442\u044b \u0432  \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \/\/ \u043b\u0438\u0431\u043e \u043a\u0430\u043a \u0443 \u043d\u0430\u0441 \u2013 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0441\u043e\u043a\u0435\u0442\u04300  \/\/ \u041f\u0420\u0418\u0415\u0427\u0410\u041d\u0418\u0415: \u043a\u0430\u043a \u0432\u0438\u0434\u0438\u043c, \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u00abSOCK_CLOSED\u00bb \/\/ - \u043a\u0430\u043a\u0430\u044f \u0442\u0443\u0442 \u0441\u0432\u044f\u0437\u044c \u0441 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u043e\u043c?? \/\/ \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c \u0447\u0442\u043e \u0432 \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0435 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043d\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u0442\u0430\u0439\u043c-\u0430\u0443\u0442, \/\/ \u043d\u043e \u0432 W5100  \u043a\u043e\u0434 \u00abSOCK_CLOSED\u00bb  \u0441\u0432\u044f\u0437\u0430\u043d \u0442\u0430\u043a\u0436\u0435 \u0438  \u0441 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u043e\u043c \/\/ \u043f\u043e\u044d\u0442\u043e\u043c\u0443  \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u2013 \u0432\u043f\u043e\u043b\u043d\u0435 \u043b\u0435\u0433\u0438\u0442\u0438\u043c\u043d\u0430  If  ( GetW5100register(S0_SR) == SOCK_CLOSED) return TRUE; else return FALSE;  \/\/ \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441 1  \u0435\u0441\u043b\u0438   \u0442\u0430\u0439\u043c-\u0430\u0443\u0442  \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b, \u043b\u0438\u0431\u043e \u0441 0 \u0435\u0441\u043b\u0438 \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e  }    \/\/ ------------  \u0417\u0410\u041a\u0420\u042b\u0422\u0418\u0415 \u0421\u043e\u043a\u0435\u0442\u04300    ---------------------------- \/\/----------------------------------------------------------------   void Socket0_Closing(void) { \/\/  should be performed in case that connection is closed after data exchange, \/\/ socket should be closed with Timeout occurrence,  \/\/ or forcible disconnection is necessary due to abnormal operation etc.                         printf(&quot;&gt;going to Close Socket0 ..... \\r\\n&quot;);                       \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c             \/\/ \u0437\u0430\u0441\u044b\u043b\u0430\u0435\u043c \u0432 \u0420\u0435\u0433\u0438\u0441\u0442\u0440 \u041a\u043e\u043c\u0430\u043d\u0434 \u0441\u043e\u043a\u0435\u0442\u04300  \u043a\u043e\u0434 \u043d\u0430 \u0417\u0410\u041a\u0420\u042b\u0422\u0418\u0415 \u0441\u043e\u043a\u0435\u0442\u0430 SetW5100register(S0_CR, CLOSE);                      printf(&quot;&gt;  ------ Socket CLOSED    ----- \\r\\n\\r\\n&quot;);                       \/\/ \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 (\u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b)  \u041c\u041e\u0416\u041d\u041e \u0423\u0414\u0410\u041b\u0418\u0422\u042c  }       \/\/ ---- \u0417\u0410\u041f\u0418\u0421\u042c (\u043f\u043e\u0441\u044b\u043b\u043a\u0430) \u0431\u0430\u0439\u0442\u0430  \u0447\u0435\u0440\u0435\u0437 SPI   ------------- \/\/--------------------------------------------------------   \/\/* \u0443 \u043c\u0435\u043d\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u00abSSPI\u00bb \u043e\u0442\u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432 \u043a\u043e\u043c\u043f\u0430\u0439\u043b\u0435\u0440\u0435 \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f  \/\/ \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0439\u0443\u043d\u043a\u0446\u0438\u044f (SPI\u2026 )\u043d\u043e \u043e\u043d\u0430 \u0433\u043b\u044e\u0447\u043d\u0430\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0441\u0432\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442  \/\/ \u0430 \u0447\u0442\u043e\u0431 \u043d\u0435 \u0431\u044b\u043b\u043e \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 (\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439) \u0432 \u043a\u043e\u043c\u043f\u0430\u0439\u043b\u0435\u0440\u0435 \u2013 \u0434\u0430\u043b \u0435\u0439 \u0434\u0440\u0443\u0433\u043e\u0435 \u0438\u043c\u044f  \/\/ \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2013 \u043f\u043e\u0441\u043b\u0430\u0442\u044c \u041e\u0414\u0418\u041d \u0411\u0410\u0419\u0422 \u0447\u0435\u0440\u0435\u0437 SPI    \/\/  \u0431\u043e\u043b\u0435\u0435 \u0432\u0435\u0440\u0445\u043d\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u00ab\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u00bb  \u043e\u0431\u043c\u0435\u043d\u0430 (\u0442\u043e\u0435\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0432\u0441\u0435\u0445 \u0422\u0420\u0415\u0425 \u0431\u0430\u0439\u0442\u043e\u0432)  \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442  \/\/  \u0434\u0440\u0443\u0433\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f  - \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0420\u0415\u0413\u0418\u0421\u0422\u0420  \/\/* \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043b\u0438\u043d\u0430\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 -  \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0435 \u0434\u043b\u044f W5100 \u043f\u0440\u0438  \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043a\u043b\u043e\u043a\u0430 \u0438\u0437 0 \u0432 1  void SSPI_write( int Data) { int i; int mask=0x80; \/\/ \u0441\u0442\u0430\u0432\u0438\u043c \u043c\u0430\u0441\u043a\u0443 \u043d\u0430 \u0421\u0422\u0410\u0420\u0428\u0418\u0419 \u0431\u0438\u0442 (\u0442\u043e\u0435\u0441\u0442\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441\u043e \u0421\u0422\u0410\u0420\u0428\u0415\u0413\u041e \u0431\u0438\u0442\u0430)                 \/\/ \u0442\u0430\u043a  \u043a\u0430\u043a \u043f\u043e  \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443  SPI \u0434\u043b\u044f W5100 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0442                  \/\/ \u043e\u0442 \u0421\u0422\u0410\u0420\u0428\u0415\u0413\u041e \u0431\u0438\u0442\u0430 -  \u043a \u041c\u041b\u0410\u0414\u0428\u0415\u041c\u0423  ( MSB first)   output_low(SCK);   \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0442\u043e\u0431 \u0431\u044b\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u0447\u0442\u043e \u043a\u043b\u043e\u043a \u2013 \u0432 \u00ab\u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u00bb \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438  for (i=0; i&lt;8;i++)    \/\/ \u0446\u0438\u043a\u043b \u0434\u043b\u044f \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f 8 \u0431\u0438\u0442  {    output_low(MOSI);   \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u00ab\u0434\u0430\u043d\u043d\u044b\u0435\u00bb \u043d\u0430 \u043b\u0438\u043d\u0438\u0438 -  \u0432 0     if ( (mask & Data) != 0) output_high(MOSI);              \/\/ \u0435\u0441\u043b\u0438  (\u043c\u0430\u0441\u043a\u0430 & \u0414\u0410\u041d\u041d\u042b\u0415)  =1  \u0442\u043e  \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u043b\u0438\u043d\u0438\u044e 1          \/\/ \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u2013 \u0442\u043e \u043d\u0430 \u043b\u0438\u043d\u0438\u0438  \u0442\u0430\u043a \u0438 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f 0, \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u043e\u0439 \u0432\u044b\u0448\u0435     output_high(SCK);       \/\/ \u0432\u044b\u0434\u0430\u0435\u043c \u043f\u0443\u043b\u044c\u0441 \u043a\u043b\u043e\u043a\u0430 ( \u0438\u0437 0 \u0432 1)  - \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u043d\u0435\u043c\u0443  \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0431\u0438\u0442\u0430     \/\/ \u0441 \u043b\u0438\u043d\u0438\u0438  \u0434\u0430\u043d\u043d\u044b\u0445 SPI \u2013 \u0432   \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b W5100     mask = mask&gt;&gt;1; ;  \/\/ \u0441\u0434\u0432\u0438\u0433\u0430\u0435\u043c \u043c\u0430\u0441\u043a\u0443  \u043d\u0430 1 \u0431\u0438\u0442 \u0432\u043f\u0440\u0430\u0432\u043e                     \/\/ *\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c  \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0438  \u043f\u043e\u0441\u043b\u0435  \u0446\u0438\u043a\u043b\u0430                     \/\/ \u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u0442\u0438\u043c \u0437\u0430\u043e\u0434\u043d\u043e  \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f                      \/\/ \u043d\u0435\u043a\u043e\u0442\u043e\u0440 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u043a\u0442\u0430\u043c\u0438 (\u0442\u043e\u0435\u0441\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u043b\u043e\u043a\u0430)      output_low(SCK); \/\/ \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c  \u043a\u043b\u043e\u043a, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0435\u0433\u043e \u0432 \u00ab\u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435\u00bb \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 ( 0 )  }  \/\/ \u00ab.. \u0438 \u0442\u0430\u043a \u0432\u043e\u0441\u044d\u043c  \u0440\u0430\u0441\u00bb (\u0441)  } \/\/----------------------------------------------------------    \/\/----------- \u0427\u0422\u0415\u041d\u0418\u0415 \u0431\u0430\u0439\u0442\u0430 \u0441 \u043b\u0438\u043d\u0438\u0438   SPI  ------------------ \/\/-----------------------------------------------------------   \/\/* \u0443 \u043c\u0435\u043d\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u00abSSPI\u00bb \u043e\u0442\u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432 \u043a\u043e\u043c\u043f\u0430\u0439\u043b\u0435\u0440\u0435 \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f  \/\/ \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0439\u0443\u043d\u043a\u0446\u0438\u044f (SPI\u2026 )\u043d\u043e \u043e\u043d\u0430 \u0433\u043b\u044e\u0447\u043d\u0430\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0441\u0432\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442  \/\/ \u0430 \u0447\u0442\u043e\u0431 \u043d\u0435 \u0431\u044b\u043b\u043e \u043a\u043e\u043d\u0444\u043b\u0438\u043a\u0442\u043e\u0432 \u0432 \u043a\u043e\u043c\u043f\u0430\u0439\u043b\u0435\u0440\u0435 \u2013 \u0434\u0430\u043b \u0435\u0439 \u0434\u0440\u0443\u0433\u043e\u0435 \u0438\u043c\u044f  \/\/ \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2013 \u043f\u0440\u043e\u0447\u0435\u0441\u0442\u044c  \u041e\u0414\u0418\u041d \u0411\u0410\u0419\u0422 \/\/  \u0431\u043e\u043b\u0435\u0435 \u0432\u0435\u0440\u0445\u043d\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u00ab\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u00bb \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442  \/\/ \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f  \u0447\u0442\u0435\u043d\u0438\u044f \u0420\u0415\u0413\u0418\u0421\u0422\u0420\u0410  \/\/ *\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0438\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 W5100 -  \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u0435 \u043f\u0440\u0438  \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043a\u043b\u043e\u043a\u0430 \u0438\u0437 1 \u0432 0  \/\/* \u0442\u043e\u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435  \u043c\u044b  \u0441\u043d\u0430\u0447\u0430\u043b\u0430  \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043b\u0438\u043d\u0438\u044e \/\/  \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e  \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u043b\u0438 \u0438\u0445 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043a\u043b\u043e\u043a\u0430 \u0438\u0437 0 \u0432 1 \/\/ \u0430  \u043d\u0430 \u043f\u0440\u043d\u0438\u0435\u043c\u0435  \u043c\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430  \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c  \u043a\u043b\u043e\u043a \u0432 1,  \u0447\u0438\u0442\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \/\/ \u0438 \u00ab\u0437\u0430\u0449\u0435\u043b\u043a\u0438\u0432\u0430\u0435\u043c\u00bb \u0434\u0430\u043d\u043d\u044b\u0435  \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u043a\u043b\u043e\u043a\u0430 \u0438\u0437 1 \u0432 0   int SSPI_read ( void) { int Data=0; int i; int mask=0x80; \/\/ \u0441\u0442\u0430\u0432\u0438\u043c \u043c\u0430\u0441\u043a\u0443 \u043d\u0430 \u0421\u0422\u0410\u0420\u0428\u0418\u0419 \u0431\u0438\u0442 (\u0442\u043e\u0435\u0441\u0442\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0441\u043e \u0441\u0442\u0430\u0440\u0448\u0435\u0433\u043e \u0431\u0438\u0442\u0430)                 \/\/ \u0442\u0430\u043a  \u043a\u0430\u043a \u043f\u043e  \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443  SPI \u0434\u043b\u044f W5100 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0442                  \/\/ \u043e\u0442 \u0421\u0422\u0410\u0420\u0428\u0415\u0413\u041e \u0431\u0438\u0442\u0430 -  \u043a \u041c\u041b\u0410\u0414\u0428\u0415\u041c\u0423  ( MSB first)   output_low(SCK);   \/\/ \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0442\u043e\u0431 \u0431\u044b\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c\u0438 \u0447\u0442\u043e \u043a\u043b\u043e\u043a \u2013 \u0432 \u00ab\u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u00bb \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438  for (i=0; i&lt;8;i++)  \/\/ \u0446\u0438\u043a\u043b \u0434\u043b\u044f \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f 8 \u0431\u0438\u0442   {    output_high(SCK);   \/\/ \u0432\u044b\u0434\u0430\u0435\u043c \u043f\u0443\u043b\u044c\u0441 \u043a\u043b\u043e\u043a\u0430 ( \u0438\u0437 0 \u0432 1)              if ( input(MISO)!= 0) Data = Data | mask ;    \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430 \u043b\u0438\u043d\u0438\u0438 1, \u0442\u043e  \u0434\u0435\u043b\u0430\u0435\u043c \u0418\u041b\u0418  \u043c\u0430\u0441\u043a\u0438 \u2013 \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e  \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u00ab\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c\u043e\u0433\u043e\u00bb \u0431\u0430\u0439\u0442\u0430      mask = mask&gt;&gt;1; ;   \/\/ \u0441\u0434\u0432\u0438\u0433\u0430\u0435\u043c \u043c\u0430\u0441\u043a\u0443  \u043d\u0430 1 \u0431\u0438\u0442 \u0432\u043f\u0440\u0430\u0432\u043e                     \/\/ *\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438  \u043f\u043e\u0441\u043b\u0435  \u0446\u0438\u043a\u043b\u0430                     \/\/ \u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u0442\u0438\u043c \u0437\u0430\u043e\u0434\u043d\u043e  \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f                      \/\/ \u043d\u0435\u043a\u043e\u0442\u043e\u0440 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u043a\u0442\u0430\u043c\u0438 (\u0442\u043e\u0435\u0441\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u043b\u043e\u043a\u0430)       output_low(SCK); \/\/ \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u043c  \u043a\u043b\u043e\u043a, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0435\u0433\u043e \u0432 \u00ab\u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435\u00bb \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 ( 0 )   }  return Data; } \/\/---------------------------------------------------------------    \/\/-------  \u0417\u0410\u041f\u0418\u0421\u042c  ( \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430)  \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 W5100 ------------- \/\/-------------------------------------------------------------- void SetW5100register (int16 regaddr, int8 data) \/\/ 2 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430: 16 \u0431\u0438\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0438 8 \u0431\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438  { output_low(SS); \/\/ \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0427\u0438\u043f \u0421\u0435\u043b\u0435\u043a\u0442 ( \u0441\u0442\u0430\u0432\u0438\u043c \u0432 0)  SSPI_write (0xF0);  \/\/ \u0441\u043f\u0435\u0440\u0432\u0430  \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0417\u0410\u041f\u0418\u0421\u042c                                     \/\/*  make8 \u2013 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 16 \u0431\u0438\u0442 - \u0432  8 \u0431\u0438\u0442 SSPI_write (  make8(regaddr,1) );  \/\/ \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442  (MSB)                                    \/\/ \u0438 \u043f\u0438\u0448\u0435\u043c  \u0435\u0433\u043e \u043d\u0430 SPI        SSPI_write (  make8(regaddr,0) );  \/\/ \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442  (LSB)                                    \/\/ \u0438 \u0448\u043b\u0435\u043c  \u0435\u0433\u043e \u043d\u0430 SPI    SSPI_write (data);   \/\/ \u043f\u0438\u0448\u0435\u043c \u043d\u0430 SPI \u0414\u0410\u041d\u041d\u042b\u0415 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440    output_high(SS);     \/\/  \u0441\u043d\u0438\u043c\u0430\u0435\u043c \u0427\u0438\u043f\u0421\u0435\u043b\u0435\u043a\u0442  ( \u0441\u0442\u0430\u0432\u0438\u043c \u0432 1)  } \/\/---------------------------------------------------------     \/\/-----  \u0427\u0422\u0415\u041d\u0418\u0415 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 W5100 ---------- \/\/---------------------------------------------------- int  GetW5100register (int16 regaddr) \/\/\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u2013 2-\u0431\u0430\u0439\u0442\u043e\u0432\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442: 1 \u0431\u0430\u0439\u0442 \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 { int RegData;  output_low(SS); \/\/ \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0427\u0438\u043f \u0421\u0435\u043b\u0435\u043a\u0442 ( \u0441\u0442\u0430\u0432\u0438\u043c \u0432 0)   SSPI_write (0x0F);  \/\/ \u0441\u043f\u0435\u0440\u0432\u0430  \u0437\u0430\u0441\u044b\u043b\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0427\u0422\u0415\u041d\u0418\u0415                                     \/\/*  make8 \u2013 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 16 \u0431\u0438\u0442 \u0432  8 \u0431\u0438\u0442 SSPI_write (  make8(regaddr,1) );  \/\/  \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0430\u0439\u0442  (MSB)                                    \/\/ \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u043d\u0430 SPI       SSPI_write (  make8(regaddr,0) );  \/\/  \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0438\u0437 \u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442  (LSB)                                    \/\/ \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u043d\u0430 SPI    RegData = SSPI_read ();    \/\/ \u0442\u0435\u043f\u0435\u0440\u044c \u0432 \u043e\u0442\u0432\u0435\u0442 W5100  \u0432\u044b\u0434\u0430\u0441\u0442 \u043d\u0430\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 (8 \u0431\u0438\u0442)                             \/\/ \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u043f\u043e \u0437\u0430\u0441\u043b\u0430\u043d\u043d\u043e\u043c\u0443 \u043f\u0435\u0440\u0435\u0434 \u044d\u0442\u0438\u043c \u0430\u0434\u0440\u0435\u0441\u0443   output_high(SS);    \/\/  \u0441\u043d\u0438\u043c\u0430\u0435\u043c \u0427\u0438\u043f\u0421\u0435\u043b\u0435\u043a\u0442  ( \u0441\u0442\u0430\u0432\u0438\u043c \u0432 1)  return RegData;\t\/\/ \u0432\u044b\u0445\u043e\u0434\u0438\u043c \u0441  \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u043c \u0431\u0430\u0439\u0442\u043e\u043c  }        \/\/*************  END of PROGRAM  **************  <\/code><\/pre>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/230661\/\"> http:\/\/habrahabr.ru\/post\/230661\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0412\u0441\u0435, \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u0443\u0437\u043d\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0437\u0430 5 \u043c\u0438\u043d\u0443\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u0447\u0438\u043f\u0435 W5100, \u043d\u043e \u0441\u0442\u0435\u0441\u043d\u044f\u043b\u0438\u0441\u044c \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/c88\/896\/d59\/c88896d59d524c4349a7ccc53b60a8a8.jpg\" alt=\"image\"\/><\/p>\n<p>  \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e, \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0438 \u044f\u0441\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e, \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0438 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0435 W5100 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Wiznet.<\/p>\n<p>  \u0427\u0435\u043c \u0436\u0435 \u043e\u043d\u0430 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430? <br \/>  \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445 \u2013 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u0430\u044f. <br \/>  \u0418 \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445 \u2013 \u0432\u0441\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u043d\u0430 \u0434\u0435\u043b\u0430\u0435\u0442 \u0437\u0430 \u0412\u0430\u0441. \u0412\u0430\u043c \u0436\u0435 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u043b\u0435\u043d\u0438\u0432\u043e \u0441\u043b\u0430\u0442\u044c-\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0422\u0415\u041a\u0421\u0422\u041e\u0412\u042b\u0415 (\u0442\u043e\u0447\u043d\u0435\u0435 \u2014 HTML) \u0434\u0430\u043d\u043d\u044b\u0435.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-230661","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/230661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=230661"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/230661\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=230661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=230661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=230661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}