{"id":342881,"date":"2022-12-19T15:01:39","date_gmt":"2022-12-19T15:01:39","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=342881"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2022-12-19T15:01:39","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=342881","title":{"rendered":"<span>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 AVR \u0432 IDE Lazarus<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412\u043e\u0442 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u043a \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c  \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0412 CodeVisionAVR \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e Ctrl+\u041f\u0440\u043e\u0431\u0435\u043b, \u0434\u0430 \u0438 \u0421\u0438 \u0447\u0442\u043e-\u0442\u043e \u043d\u0430\u0447\u0430\u043b \u0437\u0430\u0431\u044b\u0432\u0430\u0442\u044c, \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c &#8212; \u043b\u0435\u043d\u044c&#8230; \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0421\u0438 &#8212; \u044d\u0442\u043e 10-30 \u043c\u0438\u043d\u0443\u0442, \u043d\u043e \u043b\u0435\u043d\u044c&#8230; \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u0440\u043e\u0434\u043d\u043e\u0439 IDE Lazarus, \u043e\u043d\u0430 \u0436\u0435 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u0430\u044f! \u041f\u0440\u0430\u0432\u0434\u0430, \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c avr  \u0432 Lazarus, \u0447\u0442\u043e\u0431 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f hex-\u0444\u0430\u0439\u043b \u0443\u0448\u043b\u043e 3 \u0434\u043d\u044f :), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0438\u0448\u0443 \u0437\u0434\u0435\u0441\u044c, \u0447\u0442\u043e\u0431 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0435 \u043c\u0443\u0447\u0430\u043b\u0438\u0441\u044c, \u0430 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c.<\/p>\n<hr\/>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0431\u044b\u043b\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u0439 <a href=\"http:\/\/leybabronstain.ucoz.com\/blog\/ispolzovanie_krosskompiljacii_v_lazarus\/2018-03-03-24\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>, \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0432\u044b\u043a\u0438\u043d\u0443\u0442\u043e \u0432\u0441\u0451 \u043b\u0438\u0448\u043d\u0435\u0435 (\u0441 \u043c\u043e\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f). \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u043a\u0430\u043a \u044d\u0442\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0443 \u043c\u0435\u043d\u044f.<\/p>\n<ol>\n<li>\n<p>\u0418\u0442\u0430\u043a, \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c <a href=\"https:\/\/github.com\/LongDirtyAnimAlf\/fpcupdeluxe\/releases\" rel=\"noopener noreferrer nofollow\">\u043e\u0442\u0441\u044e\u0434\u0430 <\/a>\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u043b\u0438\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438 <strong>fpcupdeluxe<\/strong> \u043d\u0443\u0436\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u041e\u0421\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u0441\u043a\u0430\u0447\u0430\u043d\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b (\u043d\u0430\u043f\u0440., c:\\fpcupdeluxe);<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 &#171;cross&#187; \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435 &#171;Setup+&#187; \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c CPU &#8212; &#171;AVR&#187; \u0438 OS &#8212; &#171;embedded&#187;. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c &#8212; &#171;Install compiler&#187; (\u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430 &#171;cross&#187; \u0441 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0430\u043c\u0438 &#171;bin&#187;  \u0438 &#171;lib&#187;).<\/p>\n<\/li>\n<\/ol>\n<figure class=\"bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/026\/494\/6ac\/0264946ac562cf210f892fb11a56159b.JPG\" width=\"1163\" height=\"953\"\/><figcaption><\/figcaption><\/figure>\n<p>   4. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0437\u0430\u043a\u0430\u0447\u043a\u0438 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 fpcupdeluxe \u0440\u0443\u0433\u043d\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442 \u0438\u0445 \u0441\u043a\u0430\u0447\u0430\u0442\u044c (&#171;The building of a crosscompiler failed due to missing cross-tools.\u00a0Fpcupdeluxe can try to download them if available!\u00a0Do you want to continue?&#187;)<\/p>\n<figure class=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6a8\/7e4\/4c0\/6a87e44c0379e5bd8fb250b2e60f363a.png\" width=\"376\" height=\"169\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6a8\/7e4\/4c0\/6a87e44c0379e5bd8fb250b2e60f363a.png\"\/><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u043c\u0441\u044f \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438.  <\/p>\n<p>   5. \u0414\u043b\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 hex-\u0444\u0430\u0439\u043b\u043e\u0432 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c ppu \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432, \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 &#171;subarch&#187; \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 (\u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 &#171;fpc&#187; \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430 &#171;units&#187;). \u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 ATmega8 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 avr4, \u0430 ATmega328p \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435  avr5.<\/p>\n<figure class=\"bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e20\/9d7\/d6f\/e209d7d6f7abebb933bdb3ab22c6457a.JPG\" width=\"1200\" height=\"921\"\/><figcaption><\/figcaption><\/figure>\n<p>   6. \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c IDE Lazarus. \u0414\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043f\u0443\u0442\u0435\u0439 \u043a \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430\u043c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u00a0<strong><em>Tools &#8212;> Options &#8212;> Environment &#8212;> Files<\/em><\/strong>: \u0434\u043b\u044f Compiler executable \u0432\u044b\u0431\u0440\u0430\u0442\u044c<em>\u00a0C:\\fpcupdeluxe\\fpc\\bin\\x86_64-win64\\<\/em><strong><em>ppcross386<\/em><\/strong><em>.exe <\/em>(\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435  \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c):<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/611\/47e\/680\/61147e680305615dbc7b21d30631be16.JPG\" width=\"642\" height=\"415\"\/><figcaption><\/figcaption><\/figure>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0432 IDE Lazarus<\/h3>\n<ol start=\"6\">\n<li>\n<p>\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0442\u044c\u0441\u044f hex-\u0444\u0430\u0439\u043b, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u041e\u0421 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u043e\u0434 &#8212;  embedded; \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 &#8212; avr \u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e \u043f\u0430\u043f\u043a\u0435 (\u0432 \u043e\u0431\u0449\u0435\u0439 \u043f\u0430\u043f\u043a\u0435 &#171;units&#187;) \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0439 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, ATmega328p \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435  <em>avr5<\/em>, \u0437\u043d\u0430\u0447\u0438\u0442, \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <em>avr5<\/em>:<\/p>\n<\/li>\n<\/ol>\n<figure class=\"bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ff9\/b74\/b99\/ff9b74b994c4b97c3ae5e9afd6ac9e3f.PNG\" width=\"667\" height=\"346\"\/><figcaption><\/figcaption><\/figure>\n<ol start=\"7\">\n<li>\n<p>\u0410 \u0442\u0430\u043a \u0436\u0435 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 &#171;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f&#187;:<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1c9\/f34\/6b8\/1c9f346b8b218d27237736591fa31e9c.png\" width=\"895\" height=\"448\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/1c9\/f34\/6b8\/1c9f346b8b218d27237736591fa31e9c.png\"\/><figcaption><\/figcaption><\/figure>\n<hr\/>\n<h2>\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430<\/h2>\n<p>\u041a\u0430\u043a \u0442\u043e 830 \u041c\u0431 \u0432 \u043f\u0430\u043f\u043a\u0435 fpcupdeluxe \u043c\u0435\u043d\u044f \u043d\u0430\u043f\u0440\u044f\u0433\u043b\u043e \u0438 \u044f \u0440\u0435\u0448\u0438\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432 50 \u041c\u0431 (3 \u041c\u0431 \u0432 <a href=\"http:\/\/santig.ru\/data\/documents\/Lazarus_AVR\/Lazarus-AVR.7z\" rel=\"noopener noreferrer nofollow\">\u0430\u0440\u0445\u0438\u0432\u0435<\/a>). \u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 IDE \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443:<\/p>\n<figure class=\"bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/a7d\/20c\/edc\/a7d20cedc71ecd344dbcea56659f2ffc.JPG\" alt=\" \" title=\" \" width=\"703\" height=\"422\"\/><figcaption> <\/figcaption><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0412\u044b \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043b\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u043f\u0430\u043f\u043a\u0443, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0435 \u0444\u0430\u0439\u043b &#171;fpc.cfg&#187;, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0436\u0438\u0442 \u0432 \u043a\u043e\u0440\u043d\u0435 AVR:<\/p>\n<figure class=\"bordered full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ad9\/ff7\/b35\/ad9ff7b35db2acf09590c0ce1cfdbcfe.png\" width=\"570\" height=\"146\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ad9\/ff7\/b35\/ad9ff7b35db2acf09590c0ce1cfdbcfe.png\"\/><figcaption><\/figcaption><\/figure>\n<h2>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<pre><code class=\"delphi\">program Timers; {$mode objfpc}{$H-} {$goto on}  uses   uInterrupts, me_avr;  \/\/=== Entry point =============================================================    begin  DDRC := $FF; \/\/ \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043b\u0438\u043d\u0438\u0438 \u043f\u043e\u0440\u0442\u0430 C \u043d\u0430 \u0432\u044b\u0432\u043e\u0434  \/\/PORTC := $00;\/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043b\u043e\u0433. 0 \u043d\u0430 \u0432\u0441\u0435 \u043b\u0438\u043d\u0438\u0438 \u043f\u043e\u0440\u0442\u0430 C    \/\/=== Main loop =========================================   while True do   begin         PORTC := $FF;\/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043b\u043e\u0433. 1 \u043d\u0430 \u0432\u0441\u0435 \u043b\u0438\u043d\u0438\u0438 \u043f\u043e\u0440\u0442\u0430 C         Delay(255);  \/\/ \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 1000 \u043c\u0441 = 1 \u0441         delay(255);         PORTC := $00;\/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043b\u043e\u0433. 0 \u043d\u0430 \u0432\u0441\u0435 \u043b\u0438\u043d\u0438\u0438 \u043f\u043e\u0440\u0442\u0430 C         delay(255);  \/\/ \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 1000 \u043c\u0441 = 1 \u0441   end;\/\/Main loop end. <\/code><\/pre>\n<p>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 &#171;me_avr&#187; (\u043d\u0430\u0434\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c):<\/p>\n<pre><code class=\"delphi\">unit me_avr;  {$mode objfpc}{$H-} {$goto on}  interface  procedure Delay(MS: Byte); assembler;  implementation  procedure Delay(MS: Byte); assembler; label __delay0; asm          PUSH    r31          mov     r31, MS __delay0:          DEC     r31          BRNE    __delay0          pop     r31 end; end.<\/code><\/pre>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f Ctrl+F9 (F9 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442) \u0437\u0430\u043d\u044f\u043b\u0430 0,1 \u0441\u0435\u043a \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c 3 \u0444\u0430\u0439\u043b\u0430: hex, bin \u0438 elf. \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c hex-\u0444\u0430\u0439\u043b \u0432 \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/834\/1a5\/792\/8341a5792926a650ad78027dc1f90a80.png\" width=\"705\" height=\"348\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/834\/1a5\/792\/8341a5792926a650ad78027dc1f90a80.png\"\/><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/36d\/6fc\/a14\/36d6fca14bc8112f654df746686e23ac.gif\" alt=\"(\u043d\u0435 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0430\u043d\u0438\u044f \u0438\u0437-\u0437\u0430 \u043f\u043e\u0434\u0442\u043e\u0440\u043c\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0430)\" title=\"(\u043d\u0435 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0430\u043d\u0438\u044f \u0438\u0437-\u0437\u0430 \u043f\u043e\u0434\u0442\u043e\u0440\u043c\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0430)\" width=\"928\" height=\"476\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/36d\/6fc\/a14\/36d6fca14bc8112f654df746686e23ac.gif\"\/><figcaption>(\u043d\u0435 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0430\u043d\u0438\u044f \u0438\u0437-\u0437\u0430 \u043f\u043e\u0434\u0442\u043e\u0440\u043c\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0430)<\/figcaption><\/figure>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/706364\/\"> https:\/\/habr.com\/ru\/post\/706364\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0412\u043e\u0442 \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u043a \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c  \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0412 CodeVisionAVR \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u043e Ctrl+\u041f\u0440\u043e\u0431\u0435\u043b, \u0434\u0430 \u0438 \u0421\u0438 \u0447\u0442\u043e-\u0442\u043e \u043d\u0430\u0447\u0430\u043b \u0437\u0430\u0431\u044b\u0432\u0430\u0442\u044c, \u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c &#8212; \u043b\u0435\u043d\u044c&#8230; \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u0442\u044c \u0421\u0438 &#8212; \u044d\u0442\u043e 10-30 \u043c\u0438\u043d\u0443\u0442, \u043d\u043e \u043b\u0435\u043d\u044c&#8230; \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0435\u043d\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u0440\u043e\u0434\u043d\u043e\u0439 IDE Lazarus, \u043e\u043d\u0430 \u0436\u0435 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u0430\u044f! \u041f\u0440\u0430\u0432\u0434\u0430, \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c avr  \u0432 Lazarus, \u0447\u0442\u043e\u0431 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f hex-\u0444\u0430\u0439\u043b \u0443\u0448\u043b\u043e 3 \u0434\u043d\u044f :), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0438\u0448\u0443 \u0437\u0434\u0435\u0441\u044c, \u0447\u0442\u043e\u0431 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0435 \u043c\u0443\u0447\u0430\u043b\u0438\u0441\u044c, \u0430 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c.<\/p>\n<hr\/>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0431\u044b\u043b\u043e \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u0439 <a href=\"http:\/\/leybabronstain.ucoz.com\/blog\/ispolzovanie_krosskompiljacii_v_lazarus\/2018-03-03-24\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>, \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0432\u044b\u043a\u0438\u043d\u0443\u0442\u043e \u0432\u0441\u0451 \u043b\u0438\u0448\u043d\u0435\u0435 (\u0441 \u043c\u043e\u0435\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f). \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u043a\u0430\u043a \u044d\u0442\u043e \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0443 \u043c\u0435\u043d\u044f.<\/p>\n<ol>\n<li>\n<p>\u0418\u0442\u0430\u043a, \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c <a href=\"https:\/\/github.com\/LongDirtyAnimAlf\/fpcupdeluxe\/releases\" rel=\"noopener noreferrer nofollow\">\u043e\u0442\u0441\u044e\u0434\u0430 <\/a>\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u043b\u0438\u0437 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438 <strong>fpcupdeluxe<\/strong> \u043d\u0443\u0436\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u041e\u0421\u0438;<\/p>\n<\/li>\n<li>\n<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443\u0442 \u0441\u043a\u0430\u0447\u0430\u043d\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0438 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b (\u043d\u0430\u043f\u0440., c:\\fpcupdeluxe);<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 &#171;cross&#187; \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435 &#171;Setup+&#187; \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c CPU &#8212; &#171;AVR&#187; \u0438 OS &#8212; &#171;embedded&#187;. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c &#8212; &#171;Install compiler&#187; (\u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430 &#171;cross&#187; \u0441 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0430\u043c\u0438 &#171;bin&#187;  \u0438 &#171;lib&#187;).<\/p>\n<\/li>\n<\/ol>\n<figure class=\"bordered full-width\"><figcaption><\/figcaption><\/figure>\n<p>   4. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0437\u0430\u043a\u0430\u0447\u043a\u0438 \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 fpcupdeluxe \u0440\u0443\u0433\u043d\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0443\u0442\u0438\u043b\u0438\u0442 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u0438 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442 \u0438\u0445 \u0441\u043a\u0430\u0447\u0430\u0442\u044c (&#171;The building of a crosscompiler failed due to missing cross-tools.\u00a0Fpcupdeluxe can try to download them if available!\u00a0Do you want to continue?&#187;)<\/p>\n<figure class=\"\"><figcaption><\/figcaption><\/figure>\n<p>\u0421\u043e\u0433\u043b\u0430\u0448\u0430\u0435\u043c\u0441\u044f \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438.  <\/p>\n<p>   5. \u0414\u043b\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 hex-\u0444\u0430\u0439\u043b\u043e\u0432 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c ppu \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432, \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 &#171;subarch&#187; \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 (\u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 &#171;fpc&#187; \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430 &#171;units&#187;). \u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 ATmega8 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 avr4, \u0430 ATmega328p \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435  avr5.<\/p>\n<figure class=\"bordered full-width\"><figcaption><\/figcaption><\/figure>\n<p>   6. \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c IDE Lazarus. \u0414\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043f\u0443\u0442\u0435\u0439 \u043a \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430\u043c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u00a0<strong><em>Tools &#8212;> Options &#8212;> Environment &#8212;> Files<\/em><\/strong>: \u0434\u043b\u044f Compiler executable \u0432\u044b\u0431\u0440\u0430\u0442\u044c<em>\u00a0C:\\fpcupdeluxe\\fpc\\bin\\x86_64-win64\\<\/em><strong><em>ppcross386<\/em><\/strong><em>.exe <\/em>(\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435  \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c):<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0432 IDE Lazarus<\/h3>\n<ol start=\"6\">\n<li>\n<p>\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0442\u044c\u0441\u044f hex-\u0444\u0430\u0439\u043b, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u041e\u0421 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u043a\u043e\u0434 &#8212;  embedded; \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 &#8212; avr \u0438 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e \u043f\u0430\u043f\u043a\u0435 (\u0432 \u043e\u0431\u0449\u0435\u0439 \u043f\u0430\u043f\u043a\u0435 &#171;units&#187;) \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0439 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, ATmega328p \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435  <em>avr5<\/em>, \u0437\u043d\u0430\u0447\u0438\u0442, \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <em>avr5<\/em>:<\/p>\n<\/li>\n<\/ol>\n<figure class=\"bordered full-width\"><figcaption><\/figcaption><\/figure>\n<ol start=\"7\">\n<li>\n<p>\u0410 \u0442\u0430\u043a \u0436\u0435 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 &#171;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f&#187;:<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<hr\/>\n<h2>\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430<\/h2>\n<p>\u041a\u0430\u043a \u0442\u043e 830 \u041c\u0431 \u0432 \u043f\u0430\u043f\u043a\u0435 fpcupdeluxe \u043c\u0435\u043d\u044f \u043d\u0430\u043f\u0440\u044f\u0433\u043b\u043e \u0438 \u044f \u0440\u0435\u0448\u0438\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432 50 \u041c\u0431 (3 \u041c\u0431 \u0432 <a href=\"http:\/\/santig.ru\/data\/documents\/Lazarus_AVR\/Lazarus-AVR.7z\" rel=\"noopener noreferrer nofollow\">\u0430\u0440\u0445\u0438\u0432\u0435<\/a>). \u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 IDE \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443:<\/p>\n<figure class=\"bordered full-width\"><figcaption> <\/figcaption><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0412\u044b \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043b\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044e \u043f\u0430\u043f\u043a\u0443, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u043d\u043e\u0442\u0435 \u0444\u0430\u0439\u043b &#171;fpc.cfg&#187;, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043b\u0435\u0436\u0438\u0442 \u0432 \u043a\u043e\u0440\u043d\u0435 AVR:<\/p>\n<figure class=\"bordered full-width\"><figcaption><\/figcaption><\/figure>\n<h2>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<pre><code class=\"delphi\">program Timers; {$mode objfpc}{$H-} {$goto on}  uses   uInterrupts, me_avr;  \/\/=== Entry point =============================================================    begin  DDRC := $FF; \/\/ \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043b\u0438\u043d\u0438\u0438 \u043f\u043e\u0440\u0442\u0430 C \u043d\u0430 \u0432\u044b\u0432\u043e\u0434  \/\/PORTC := $00;\/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043b\u043e\u0433. 0 \u043d\u0430 \u0432\u0441\u0435 \u043b\u0438\u043d\u0438\u0438 \u043f\u043e\u0440\u0442\u0430 C    \/\/=== Main loop =========================================   while True do   begin         PORTC := $FF;\/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043b\u043e\u0433. 1 \u043d\u0430 \u0432\u0441\u0435 \u043b\u0438\u043d\u0438\u0438 \u043f\u043e\u0440\u0442\u0430 C         Delay(255);  \/\/ \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 1000 \u043c\u0441 = 1 \u0441         delay(255);         PORTC := $00;\/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043b\u043e\u0433. 0 \u043d\u0430 \u0432\u0441\u0435 \u043b\u0438\u043d\u0438\u0438 \u043f\u043e\u0440\u0442\u0430 C         delay(255);  \/\/ \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 1000 \u043c\u0441 = 1 \u0441   end;\/\/Main loop end. <\/code><\/pre>\n<p>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 &#171;me_avr&#187; (\u043d\u0430\u0434\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c):<\/p>\n<pre><code class=\"delphi\">unit me_avr;  {$mode objfpc}{$H-} {$goto on}  interface  procedure Delay(MS: Byte); assembler;  implementation  procedure Delay(MS: Byte); assembler; label __delay0; asm          PUSH    r31          mov     r31, MS __delay0:          DEC     r31          BRNE    __delay0          pop     r31 end; end.<\/code><\/pre>\n<p>\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f Ctrl+F9 (F9 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442) \u0437\u0430\u043d\u044f\u043b\u0430 0,1 \u0441\u0435\u043a \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c 3 \u0444\u0430\u0439\u043b\u0430: hex, bin \u0438 elf. \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c hex-\u0444\u0430\u0439\u043b \u0432 \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:<\/p>\n<figure class=\"full-width\"><figcaption><\/figcaption><\/figure>\n<figure class=\"full-width\"><figcaption>(\u043d\u0435 \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c \u043c\u0438\u0433\u0430\u043d\u0438\u044f \u0438\u0437-\u0437\u0430 \u043f\u043e\u0434\u0442\u043e\u0440\u043c\u0430\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0430)<\/figcaption><\/figure>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p> <!----> <!----><\/div>\n<p> <!----> <!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/706364\/\"> https:\/\/habr.com\/ru\/post\/706364\/<\/a><br \/><\/br><\/br><\/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-342881","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/342881","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=342881"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/342881\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=342881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=342881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=342881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}