{"id":218825,"date":"2014-04-22T00:06:02","date_gmt":"2014-04-21T20:06:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=218825"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=218825","title":{"rendered":"<span class=\"post_title\">\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0438\u0437\u0443\u0447\u0430\u0442\u044c Cortex-M \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 STM32, \u0447\u0430\u0441\u0442\u044c 2<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0446\u0438\u043a\u043b\u0430 \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 \u044f\u0434\u0440\u0430 Cortex-M.<br \/>  \u041f\u0435\u0440\u0432\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u0434\u0435\u0441\u044c:<br \/>  <a href=\"http:\/\/habrahabr.ru\/post\/216843\">\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0438\u0437\u0443\u0447\u0430\u0442\u044c Cortex-M \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 STM32<\/a><br \/>  \u0417\u0430\u0434\u0430\u0447\u0435\u0439 \u0441\u0442\u0430\u0442\u0435\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u041c\u041a. \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0445 \u0437\u0430 10 \u043c\u0438\u043d\u0443\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u043c\u0438\u0433\u0430\u043d\u0438\u044f \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c. \u042f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u043e \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u043e\u0442 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u043d\u0435 \u043d\u0430\u043f\u0443\u0433\u0430\u0442\u044c.<\/p>\n<p>  \u041c\u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0448\u0430\u0431\u043b\u043e\u043d\u044b, \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438 \u0442.\u0434. \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0438 \u043a\u0430\u043a \u0432\u0441\u0435 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0410 \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u044d\u0442\u0438\u0445 \u0441\u0430\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043c\u043e\u0433\u043b\u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u0437\u0430\u0434\u0430\u0447\u0443.<\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0430\u043a\u0446\u0435\u043d\u0442 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u044f\u0434\u0440\u043e Cortex-M \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440.<br \/>  \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043f\u0440\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u041c\u041a.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0440\u0432 \u043f\u0440\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e ARM<\/h4>\n<p>  \u041f\u043e \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u044f\u0441\u043d\u044b\u043c \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c, \u043d\u0435\u043b\u044c\u0437\u044f \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442 <a href=\"http:\/\/www.arm.com\/\">ARM<\/a> \u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430 \u044f\u0434\u0440\u043e Cortex-M4. \u0414\u0430 \u0438 \u043d\u0430 Cortex-M3 \u0442\u043e\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f. <br \/>  \u041f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432.<br \/>  1. \u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0430\u0447\u0430\u0442\u044c \u0441 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ddi0337e\/DDI0337E_cortex_m3_r1p1_trm.pdf\">Cortex \u2122-M3 TechnicalReference Manual Revision: r1p1<\/a> \u2014 \u0441\u0430\u043c\u043e\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u044f\u0434\u0440\u043e Cortex-M3<br \/>  2. \u0412\u043e \u0432\u0441\u0435\u0445 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u0440\u0435\u0432\u0438\u0437\u0438\u044f\u0445 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ddi0439d\/DDI0439D_cortex_m4_processor_r0p1_trm.pdf\">Cortex \u2122-M4 TechnicalReference Manual<\/a> \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043b\u0438\u0448\u044c \u043e\u0431\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430.<br \/>  \u0422\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u043e\u0448\u0443 \u043d\u0435 \u0443\u0434\u0438\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441\u0441\u044b\u043b\u043a\u0430\u043c \u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u044f\u0434\u0440\u0430.<\/p>\n<h4>Interrupt and Events<\/h4>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f.<br \/>  \u0412 \u041c\u041a Cortex-M \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0447\u0430\u0441\u0442\u043e \u043f\u0443\u0442\u0430\u044e\u0442 <i>Interrupt<\/i> \u0438 <i>Event<\/i>.<br \/>  <i>Event<\/i> \u2014 \u044d\u0442\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 (\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435), \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0433\u0443\u0442 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u0434\u0440\u043e \u0438\u043b\u0438 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438. \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0440\u0435\u0430\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u2014 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435.<br \/>  <i>Interrupt<\/i> \u2014 \u044d\u0442\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0412\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u044c \u043c\u0435\u0436\u0434\u0443 <i>Event<\/i> \u0438 <i>Interrupt<\/i> \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c:<br \/>  <i>\u041a\u0430\u0436\u0434\u044b\u0439 Interrupt \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Event, \u043d\u043e \u043d\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 Event \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 Interrupt. <\/i><br \/>  \u041f\u043e\u043c\u0438\u043c\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439, \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u041c\u041a.<\/p>\n<h4>NVIC<\/h4>\n<p>  \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f <i>\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0445 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 NVIC (Nested Vectored Interrupt Controller)<\/i>. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0447\u0430\u0441\u0442\u044c \u044f\u0434\u0440\u0430 Cortex-M. \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430 \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0441 <\/p>\n<p>  \u041f\u0440\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0438, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441 \u0442\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435. \u0412\u0441\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 (\u043f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 NVIC, \u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0438\u0436\u0435).<\/p>\n<p>  \u0418\u0437 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 NVIC \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b. \u041a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 NVIC \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442. \u0415\u0441\u043b\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0435, \u0442\u043e \u043e\u043d\u043e, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u043f\u0440\u0435\u0440\u0432\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f.<\/p>\n<h4>\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?<\/h4>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0441\u0442 \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u0435\u0442 \u043d\u0430 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u0443\u044e \u043f\u043e\u043b\u043d\u043e\u0442\u0443, \u044f \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ddi0337e\/DDI0337E_cortex_m3_r1p1_trm.pdf\">Cortex\u2122-M3 Technical Reference Manual<\/a>. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u0430 \u0447\u0430\u0441\u0442\u044c \u044f\u0434\u0440\u0430 \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u0440\u043f\u0435\u043b\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0435\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 r1p1 \u043d\u0430 \u044f\u0434\u0440\u043e Cortex-M3.<\/p>\n<h5>\u0412\u0445\u043e\u0434 \u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0438 \u0432\u044b\u0445\u043e\u0434 \u0438\u0437 \u043d\u0435\u0433\u043e<\/h5>\n<p>  \u041f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u0446\u0438\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f NVIC \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u044f\u0434\u0440\u043e \u0432 \u0440\u0435\u0436\u0438\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f. \u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u044f\u0434\u0440\u0430 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u0442\u0435\u043a. \u041d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0432 \u0441\u0442\u0435\u043a \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0412 \u0441\u0442\u0435\u043a \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (<i> Program Status Register (PSR)<\/i>), \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (<i>Program Counter (PC)<\/i>) \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0441\u0432\u044f\u0437\u0438 (<i>Link Register (LR)<\/i> ). \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u044f\u0434\u0440\u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e \u0432 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.dui0553a\/DUI0553A_cortex_m4_dgug.pdf\">Cortex-M4 Generic User Guide<\/a>. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443, \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u044f\u0434\u0440\u043e \u043f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u0432 \u0440\u0435\u0436\u0438\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. <\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b R0 \u2014 R3 \u0438 R12. \u042d\u0442\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u0445 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u0435\u043a \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u0430 R12 \u0447\u0430\u0441\u0442\u043e \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0432 \u0440\u043e\u043b\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>  \u041f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u0441\u044f \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435: \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u0435\u043a\u0430 \u0438, \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0441 \u044d\u0442\u0438\u043c, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430.<\/p>\n<p>  \u0421 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u0446\u0438\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u043d\u0438\u0439 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 12 \u0442\u0430\u043a\u0442\u043e\u0432, \u0442\u0430\u043a\u043e\u0435 \u0436\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f.<\/p>\n<h5>\u0412\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439<\/h5>\n<p>  \u041a\u0430\u043a \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435 NVIC \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c, \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e \u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0430.<\/p>\n<p>  <i>1. \u041f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f <\/i><br \/>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f. \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 12 \u0446\u0438\u043a\u043b\u043e\u0432 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u0435\u043a \u043d\u043e\u0432\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f. \u041f\u043e\u0441\u043b\u0435 \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0441\u0442\u0435\u043a\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0438 \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f.<br \/>  \u0411\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0442\u043b\u0438\u0447\u0438\u0439 \u043e\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0441\u044f. <\/p>\n<p>  <i>2. \u041d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439<\/i><br \/>  \u042d\u0442\u0430 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432 \u0434\u0432\u0443\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445: \u0435\u0441\u043b\u0438 \u0434\u0432\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e.<br \/>  \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430\u0434 \u0441\u0442\u0435\u043a\u043e\u043c \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u044f\u0442\u0441\u044f. \u041f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044e. \u041e\u0442\u043a\u0430\u0437 \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043d\u0430\u0434 \u0441\u0442\u0435\u043a\u043e\u043c \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 6 \u0442\u0430\u043a\u0442\u043e\u0432. \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435 \u0437\u0430 12 \u0442\u0430\u043a\u0442\u043e\u0432, \u0430 \u0432\u0441\u0435\u0433\u043e \u0437\u0430 6.<\/p>\n<p>  <i>3. \u0417\u0430\u043f\u0430\u0437\u0434\u044b\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0441\u043e\u043a\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f<\/i><br \/>  \u0421\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442, \u0435\u0441\u043b\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0433\u043e (\u0437\u0430 \u0442\u0435 \u0441\u0430\u043c\u044b\u0435 12 \u0442\u0430\u043a\u0442\u043e\u0432). \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u043c\u0443 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 6 \u0442\u0430\u043a\u0442\u043e\u0432 \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0435\u0433\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f (\u0432\u0440\u0435\u043c\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043a \u043d\u0435\u043c\u0443). \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u0432 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u043e\u0435 \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u0430\u043d \u0432\u044b\u0448\u0435.<\/p>\n<h5>\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439<\/h5>\n<p>  \u041f\u043e\u043c\u0438\u043c\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439, NVIC \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432.<br \/>  \u041f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u0441 \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u043c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u0441 \u0431\u043e\u043b\u0435\u0435 \u043d\u0438\u0437\u043a\u0438\u043c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c. \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b, \u043d\u043e \u0441 \u0440\u0430\u0437\u043d\u044b\u043c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430. \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0432\u044b\u0437\u043e\u0432\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 \u0431\u044b\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043e\u0431\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f.<\/p>\n<p>  \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445 <i> Interrupt Priority Registers<\/i> (\u0441\u043c. <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.dui0553a\/DUI0553A_cortex_m4_dgug.pdf\">Cortex-M4 Generic User Guide<\/a>). \u041f\u0440\u0438 \u044d\u0442\u043e\u043c, \u0447\u0430\u0441\u0442\u044c \u0431\u0438\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u0430 \u0447\u0430\u0441\u0442\u044c \u2014 \u0437\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b. <br \/>  \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0431\u0438\u0442 \u043d\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u044b \u0438\u043b\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 <i> Application Interrupt and Reset Control Register<\/i> (\u0412\u041d\u0418\u041c\u0410\u0422\u0415\u041b\u042c\u041d\u041e!!! \u0441\u043c. <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.dui0553a\/DUI0553A_cortex_m4_dgug.pdf\">Cortex-M4 Generic User Guide<\/a>).<\/p>\n<p>  \u041a\u0430\u043a \u0432\u044b, \u043d\u0430\u0432\u0435\u0440\u043d\u043e, \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438, \u0432 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.dui0553a\/DUI0553A_cortex_m4_dgug.pdf\">Cortex-M4 Generic User Guide<\/a> \u0441\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 <i>implementation defined<\/i>.<br \/>  \u0410 \u0432\u043e\u0442 \u0434\u0430\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u0432\u0435\u0449\u044c. \u0412 <a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/programming_manual\/DM00046982.pdf\">Reference manual<\/a> \u043a \u041c\u041a STM32F407 \u043f\u0440\u043e NVIC \u043f\u043e\u0447\u0442\u0438 \u043d\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u041d\u043e \u0435\u0441\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 NVIC \u0432 STM32 \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u2014 <a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/programming_manual\/DM00046982.pdf\">STM32F3xxx and STM32F4xxx Cortex-M4 programming manual<\/a>. \u0412\u043e\u043e\u0431\u0449\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u044f \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0438 \u043f\u043e \u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c, \u0432 \u043d\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430 \u044f\u0434\u0440\u0430 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e, \u0447\u0435\u043c \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0442 ARM.<br \/>  \u0412 \u043d\u0435\u043c, \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438:  <\/p>\n<blockquote><p>A programmable priority level of 0-15 for each interrupt. A higher level corresponds to a <br \/>  lower priority, so level 0 is the highest interrupt priority<\/p><\/blockquote>\n<p>  \u0418\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 8 \u0431\u0438\u0442 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e 4. \u041d\u043e \u044d\u0442\u043e\u0433\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0437\u0430\u0434\u0430\u0447.<\/p>\n<h5>\u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439<\/h5>\n<p>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0440\u0430\u043a\u0435\u0442\u044b-\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044f \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u0440\u0430\u0441\u043d\u0443\u044e \u043a\u043d\u043e\u043f\u043a\u0443, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u043f\u043e\u0432\u0435\u0440\u043d\u0443\u0442 \u043a\u043b\u044e\u0447.<br \/>  \u041d\u0435\u0442 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0438 \u043a\u0430\u043a\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0432\u043e\u0440\u043e\u0442 \u043a\u043b\u044e\u0447\u0430. \u0410 \u0432\u043e\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u043a\u0440\u0430\u0441\u043d\u043e\u0439 \u043a\u043e\u043f\u043a\u0438 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c\/\u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439.<br \/>  \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ddi0337e\/DDI0337E_cortex_m3_r1p1_trm.pdf\"><i>Interrupt Set-enable Registers<\/i><\/a>.<br \/>  \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u044d\u0442\u043e \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u044f \u043d\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f! \u041f\u0440\u043e\u0441\u0442\u043e NVIC \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f.<\/p>\n<h5>\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439<\/h5>\n<p>  \u0412\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 NVIC, \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u041f\u043e \u0441\u0443\u0442\u0438 \u0441\u0432\u043e\u0435\u0439, \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0435\u0441\u0442\u044c \u043d\u0438 \u0447\u0442\u043e \u0438\u043d\u043e\u0435, \u043a\u0430\u043a \u0441\u043f\u0438\u0441\u043e\u043a \u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u041d\u043e\u043c\u0435\u0440 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u043e\u043c\u0435\u0440\u0443 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0432 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.dui0553a\/DUI0553A_cortex_m4_dgug.pdf\">Cortex-M4 Generic User Guide<\/a>, NVIC \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0434\u043e 240 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u041d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0436\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f.<br \/>  \u0412 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u044f\u0434\u0440\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u044f\u0434\u0440\u0430 (\u0441\u043c. \u0440\u0430\u0437\u0434\u0435\u043b <i>2.3.2 Exception types<\/i> \u0432 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.dui0553a\/DUI0553A_cortex_m4_dgug.pdf\">Cortex-M4 Generic User Guide<\/a>):  <\/p>\n<ul>\n<li>Reset <\/li>\n<li>NMI <\/li>\n<li>HardFault<\/li>\n<li>MemManage<\/li>\n<li>BusFault<\/li>\n<li>UsageFault<\/li>\n<li>SVCall<\/li>\n<li>PendSV<\/li>\n<li>SysTick<\/li>\n<\/ul>\n<p>  \u0421 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u044d\u0442\u0438\u0445 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u044f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u043c \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u044b \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445.<br \/>  \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b \u0434\u043b\u044f \u041c\u041a. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0432\u0430\u0448\u0435\u0433\u043e \u041c\u041a \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c <a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/reference_manual\/DM00031020.pdf\">Reference manual<\/a> (\u0441\u043c. Vector table for STM32F405xx\/07xx and STM32F415xx\/17xx). \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b STM32F4xx \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 81 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432\u0441\u0435 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 (\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b).<br \/>  \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u044f\u0434\u0440\u043e \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u043b\u043e\u0441\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441 \u043d\u0438\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043d\u0430\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044e \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0433\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e UART).<\/p>\n<h5>\u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u041c\u041a<\/h5>\n<p>  \u0420\u0430\u0437\u043e\u0431\u0440\u0430\u0432\u0448\u0438\u0441\u044c \u0441 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 Cortex-M \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043d\u044f\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439.<br \/>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438\u0437 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0444\u043b\u0435\u0448 \u043f\u0430\u043c\u044f\u0442\u0438.<br \/>  \u0412 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u0439\u0441\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0444\u043b\u0435\u0448 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 (\u0441\u043c. <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ddi0337e\/DDI0337E_cortex_m3_r1p1_trm.pdf\">Cortex-M3 Technical Reference Manual<\/a>:  <\/p>\n<blockquote><p>\u2022 stack top address<br \/>  \u2022 reset routine location<br \/>  \u2022 NMI ISR location<br \/>  \u2022 Hard Fault ISR location.<\/p><\/blockquote>\n<p>  \u0418\u0437 \u043d\u0430\u0447\u0430\u043b\u0430 \u0444\u043b\u0435\u0448 \u043f\u0430\u043c\u044f\u0442\u0438 \u044f\u0434\u0440\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 SP (stack top addres) \u0438 PC (reset routine location). \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0441 \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u043c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 PC. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 main.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a.<br \/>  \u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438, \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u043e \u0442\u043e\u0433\u0434\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u044c NVIC, \u043a\u0443\u0434\u0430 \u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u043d\u0443\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u0417\u0430 \u044d\u0442\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 <i>Vector Table Offset Register<\/i> (\u0441\u043c. <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.ddi0439d\/DDI0439D_cortex_m4_processor_r0p1_trm.pdf\">Cortex-M4 Technical Reference Manual<\/a>. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u041f\u041e (bootloader), \u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043a\u0430\u043a-\u043d\u0438\u0431\u0443\u0434\u044c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0430\u0437.<\/p>\n<h4>\u041e\u0442 \u0442\u0435\u043e\u0440\u0438\u0438 \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435<\/h4>\n<p>  <\/p>\n<h5>\u0422\u0417 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/h5>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b <a href=\"http:\/\/www.st.com\/web\/catalog\/tools\/FM116\/SC959\/SS1532\/PF252419#\">STM32F4Discovery<\/a>.<br \/>  \u041f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u0433\u043e\u0440\u0435\u0442\u044c\u0441\u044f \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 LED3. \u041f\u0440\u0438 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 PC6 \u0438 GND \u0437\u0430\u0433\u043e\u0440\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 LED5.<br \/>  \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0438\u0433\u0440\u0430\u0435\u043c\u0441\u044f \u0441 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430\u043c\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a \u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442.<\/p>\n<h5>\u0416\u0435\u043b\u0435\u0437\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c<\/h5>\n<p>  \u041d\u0430\u0439\u0434\u0435\u043c \u0432 <a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/user_manual\/DM00039084.pdf\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a \u043f\u043b\u0430\u0442\u0435<\/a> \u043a\u043d\u043e\u043f\u043a\u0443 \u0438 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/2b8\/647\/490\/2b86474905f72e1e4af4a667d2f290cb.png\"\/><br \/>  \u041f\u0440\u0438 \u043d\u0435\u043d\u0430\u0436\u0430\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0435 \u043d\u0430 \u043f\u0438\u043d\u0435 PA0 \u0431\u0443\u0434\u0435\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043d\u043e\u043b\u044c, \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f 1 (3.3\u0412).<br \/>  \u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 LED3 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a \u043f\u0438\u043d\u0443 PD13.<br \/>  \u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 LED5 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a \u043f\u0438\u043d\u0443 PD14.<br \/>  \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0439 \u0432\u0441\u0435\u0433\u043e \u0441 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u043c PC6 \u2014 \u043e\u043d \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432\u044b\u0432\u0435\u0434\u0435\u043d \u043d\u0430 \u0448\u0442\u044b\u0440\u0435\u0432\u043e\u0439 \u0440\u0430\u0437\u044a\u0435\u043c. \u041d\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 1, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u043d\u0435 \u0437\u0430\u043a\u043e\u0440\u043e\u0447\u0435\u043d \u0441 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u043c GND. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u0440\u0435\u0447\u044c \u043d\u0438\u0436\u0435.<\/p>\n<h5>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 GPIO<\/h5>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0438\u043d\u044b PD13 \u0438 PD14 \u043a\u0430\u043a \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435. \u041e \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 <a href=\"http:\/\/habrahabr.ru\/post\/216843\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>.<br \/>  \u0421 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u043f\u0438\u043d\u0430 PA0 \u0442\u043e\u0436\u0435 \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u2014 \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0430 \u0432\u0445\u043e\u0434. \u041d\u0435 \u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0441\u0447\u0435\u0442\u0430 \u041c\u041a \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u043f\u0438\u043d\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043d\u0430 \u0432\u0445\u043e\u0434, \u043a\u0440\u0430\u0439\u043d\u0435 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u044f\u0432\u043d\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u0443 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e.<br \/>  \u0421 \u043f\u0438\u043d\u043e\u043c PC7 \u0432\u0441\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d \u00ab\u0432\u0438\u0441\u0438\u0442 \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435\u00bb, \u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e. \u041d\u0430\u043c \u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044b\u043b\u043e \u00ab1\u00bb. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e, \u0432 \u0431\u043b\u043e\u043a\u0435 GPIO \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u0442\u044f\u0436\u043a\u0443. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u043f\u043e\u0434\u0442\u044f\u0436\u043a\u0430 \u043a \u043f\u0438\u0442\u0430\u043d\u0438\u044e \u2014 PULL UP. <br \/>  \u0410\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043f\u043e\u0434\u0442\u044f\u0436\u043a\u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 <i>GPIO port pull-up\/pull-down register<\/i>.<\/p>\n<h5>\u041f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f EXTI<\/h5>\n<p>  \u0414\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u00ab\u0422\u0417\u00bb \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439, \u043d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430 PA0 \u0438\u0437 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u00ab0\u00bb \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u00ab1\u00bb, \u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430 PC6 \u0438\u0437 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u00ab1\u00bb \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u00ab0\u00bb.<\/p>\n<p>  \u0412 \u041c\u041a STM32F4xx \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u0441\u043b\u0443\u0436\u0438\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439\/\u0441\u043e\u0431\u044b\u0442\u0438\u0439 &#8212;<i> EXTI<\/i> (External interrupt\/event controller). \u042f \u043d\u0430\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043e\u043c \u0432 <a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/reference_manual\/DM00031020.pdf\">Reference manual<\/a>. \u041d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c:  <\/p>\n<blockquote><p>Hardware interrupt selection<br \/>  To configure the 23 lines as interrupt sources, use the following procedure:<br \/>  \u2022 Configure the mask bits of the 23 interrupt lines (EXTI_IMR)<br \/>  \u2022 Configure the Trigger selection bits of the interrupt lines (EXTI_RTSR and EXTI_FTSR)<br \/>  \u2022 Configure the enable and mask bits that control the NVIC IRQ channel mapped to the external interrupt controller (EXTI) so that an interrupt coming from one of the 23 lines can be correctly acknowledged.<\/p><\/blockquote>\n<p>  \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f 0 \u0438 6 \u043b\u0438\u043d\u0438\u0438 EXTI. \u0414\u043b\u044f \u0440\u0430\u0437\u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043b\u0438\u043d\u0438\u0439 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 EXTI_IMR \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0x9.<br \/>  \u0414\u043b\u044f \u043b\u0438\u043d\u0438\u0438 PA0, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u0438\u0437 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u00ab0\u00bb \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u00ab1\u00bb \u2014 \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0435\u043c\u0443 \u0444\u0440\u043e\u043d\u0442\u0443. \u0422\u043e \u0435\u0441\u0442\u044c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c 1 \u0432 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0431\u0438\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 EXTI_RTSR.<br \/>  \u0414\u043b\u044f \u043b\u0438\u043d\u0438\u0438 PC6, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443 \u0438\u0437 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u00ab1\u00bb \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u00ab0\u00bb \u2014 \u043f\u043e \u043f\u0430\u0434\u0430\u044e\u0449\u0435\u043c\u0443 \u0444\u0440\u043e\u043d\u0442\u0443. \u0422\u043e \u0435\u0441\u0442\u044c, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c 1 \u0432 \u0448\u0435\u0441\u0442\u043e\u0439 \u0431\u0438\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 EXTI_FTSR.<br \/>  \u041d\u0430 \u044d\u0442\u043e\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0431\u043b\u043e\u043a\u0430 EXTI \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u0443\u043d\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u043e\u0439\u043a\u0435 NVIC.<\/p>\n<p>  \u041f\u043e \u043c\u0438\u043c\u043e \u044d\u0442\u043e\u0433\u043e, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f, \u043f\u0438\u043d \u0441 \u043a\u0430\u043a\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438 EXTI. \u0414\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 <i>SYSCFG external interrupt configuration register<\/i> (<a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/reference_manual\/DM00031020.pdf\">Reference manual<\/a>). \u042d\u0442\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 <i>System configuration controller<\/i>, \u0447\u0442\u043e \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c (\u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b\u043b\u043e \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u0442\u0443 \u043d\u0430\u0441\u0442\u043e\u0440\u043e\u0439\u043a\u0443 \u0432 EXTI?), \u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0435\u0439 \u0444\u0430\u043a\u0442 \u043d\u0430 \u0441\u043e\u0432\u0435\u0441\u0442\u0438 ST.<\/p>\n<h5>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 NVIC<\/h5>\n<p>  \u0410\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 <i>Interrupt set-enable registers (NVIC_ISERx)<\/i>. \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e \u0432 <a href=\"http:\/\/infocenter.arm.com\/help\/topic\/com.arm.doc.dui0553a\/DUI0553A_cortex_m4_dgug.pdf\">Cortex-M4 Generic User Guide<\/a>. \u0421\u0430\u043c\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u041c\u041a \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0430 \u0432 <a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/reference_manual\/DM00031020.pdf\">Reference manual<\/a> (\u0441\u043c. Table 61). <br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/83d\/2d9\/65d\/83d2d965d982d6984607aed24f03d0e2.png\"\/><br \/>  \u0418\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f 0 \u043b\u0438\u043d\u0438\u0438 \u0435\u0441\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u0430 \u0432\u043e\u0442 \u043b\u0438\u043d\u0438\u0438 \u0441 5 \u043f\u043e 9 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442 \u043e\u0434\u043d\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0432\u0441\u0435\u0445.<br \/>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043c\u044b \u0443\u0437\u043d\u0430\u043b\u0438 \u043d\u043e\u043c\u0435\u0440\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043d\u0430\u043c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u00ab1\u00bb \u0432 6 \u0431\u0438\u0442 (\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u043b\u0438\u043d\u0438\u0438 0 EXTI) \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 NVIC_ISER0 (\u0430\u0434\u0440\u0435\u0441 0xE000E100) \u0438 \u0432 23 \u0431\u0438\u0442 \u0442\u043e\u0433\u043e \u0436\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 (\u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u043b\u0438\u043d\u0438\u0439 5-9). <\/p>\n<h5>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432<\/h5>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0431\u0430\u043b\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430\u043c\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b 2 \u0431\u0438\u0442\u0430 \u043e\u0442\u0432\u0435\u0447\u0430\u043b\u0438 \u0437\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b, \u0438 2 \u0431\u0438\u0442\u0430 \u2014 \u0437\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0441\u0430\u043c\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0\u044505FA0500 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 <i>Application interrupt and reset control register<\/i> (<a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/programming_manual\/DM00046982.pdf\">STM32F3xxx and STM32F4xxx Cortex-M4 programming manual<\/a>).<br \/>  \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 <i>Interrupt Priority Registers<\/i> (<a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/programming_manual\/DM00046982.pdf\">STM32F3xxx and STM32F4xxx Cortex-M4 programming manual<\/a>). \u041d\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b Interrupt Priority Register 2 (0xE000E4008) \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 Interrupt Priority Register 5(0xE000E401C).<br \/>  \u041f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b. \u041f\u0443\u0441\u0442\u044c \u0431\u0443\u0434\u0443\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439.<\/p>\n<h5>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439<\/h5>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u2014 \u043d\u0438 \u0447\u0442\u043e \u0438\u043d\u043e\u0435, \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 C, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438 \u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0438 \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 (\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u2014 \u043d\u0435 \u043e\u0442 \u043a\u043e\u0433\u043e \u0438 \u043d\u0435 \u043a\u043e\u043c\u0443).<br \/>  <i>\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u2014 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435!!!<\/i> \u0418\u043d\u0430\u0447\u0435 \u043d\u0438\u0437\u043a\u043e\u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u044b\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u043b\u0433\u043e \u0436\u0434\u0430\u0442\u044c.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0432\u044b\u0437\u0432\u0430\u0432\u0448\u0435\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u2014 \u00ab\u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435\u00bb. \u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f EXTI \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 EXTI_PR . \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0437\u0430\u043f\u0438\u0441\u044c \u00ab1\u00bb \u043e\u0447\u0438\u0449\u0430\u0435\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u0437\u0430\u043f\u0438\u0441\u044c \u00ab0\u00bb \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043d\u0438 \u043a\u0430\u043a\u043e\u0433\u043e \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0441 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u043d\u0438\u0438 0 EXTI \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e, \u0442\u043e \u0441 \u0433\u0440\u0443\u043f\u043f\u043e\u0439 \u043b\u0438\u043d\u0438\u0439 5-9 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u2014 \u043a\u0430\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0430\u043a\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u0432\u044b\u0437\u0432\u0430\u043b\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435. \u0423\u0437\u043d\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0431\u0438\u0442 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 Pending register (EXTI_PR) \u2014 <a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/reference_manual\/DM00031020.pdf\">Reference manual<\/a>.<\/p>\n<h5>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c \u0435\u0435 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435<\/h5>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433, \u0447\u0442\u043e\u0431\u044b \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c\u0438 \u0430\u0434\u0440\u0435\u0441\u0430\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u043b\u0438\u0441\u044c \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0444\u043b\u0435\u0448 \u043f\u0430\u043c\u044f\u0442\u0438 \u041c\u041a, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u0444\u0430\u0439\u043b startup.c.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">\/\/ Enable the IAR extensions for this source file. #pragma language=extended #pragma segment=&quot;CSTACK&quot; \/\/ Forward declaration of the default fault handlers. void ResetISR(void); static void NmiSR(void); static void FaultISR(void); static void IntDefaultHandler(void); \/\/ The entry point for the application startup code. extern void __iar_program_start(void); extern void EXTI_Line0_IntHandler(void); extern void EXTI_Line6_IntHandler(void); \/\/ A union that describes the entries of the vector table.  The union is needed \/\/ since the first entry is the stack pointer and the remainder are function \/\/ pointers. typedef union {     void (*pfnHandler)(void);     void * ulPtr; } uVectorEntry;  \/\/ The vector table.  Note that the proper constructs must be placed on this to \/\/ ensure that it ends up at physical address 0x0000.0000. __root const uVectorEntry __vector_table[] @ &quot;.intvec&quot; = {     { .ulPtr = __sfe( &quot;CSTACK&quot; ) },                                             \/\/ The initial stack pointer     ResetISR,                               \/\/ The reset handler     NmiSR,                                  \/\/ The NMI handler     FaultISR,                               \/\/ The hard fault handler     IntDefaultHandler,                       \/\/ MPU Fault Handler     IntDefaultHandler,                       \/\/ Bus Fault Handler     IntDefaultHandler,                       \/\/ Usage Fault Handler     IntDefaultHandler,                       \/\/ Reserved     IntDefaultHandler,                       \/\/ Reserved     IntDefaultHandler,                       \/\/ Reserved     IntDefaultHandler,                       \/\/ Reserved     IntDefaultHandler,                       \/\/ SVCall Handler     IntDefaultHandler,                       \/\/ Debug Monitor Handler     IntDefaultHandler,                       \/\/ Reserved     IntDefaultHandler,                       \/\/ PendSV Handler     IntDefaultHandler,                       \/\/ SysTick Handler     \/\/External Interrupts     IntDefaultHandler,                      \/\/ Window WatchDog                                             IntDefaultHandler,                      \/\/ PVD through EXTI Line detection                             IntDefaultHandler,                      \/\/ Tamper and TimeStamps through the EXTI line                 IntDefaultHandler,                      \/\/ RTC Wakeup through the EXTI line                            IntDefaultHandler,                      \/\/ FLASH                                                IntDefaultHandler,                      \/\/ RCC                                                  EXTI_Line0_IntHandler,                  \/\/ EXTI Line0                                                  IntDefaultHandler,                      \/\/ EXTI Line1                                                  IntDefaultHandler,                      \/\/ EXTI Line2                                                  IntDefaultHandler,                      \/\/ EXTI Line3                                                  IntDefaultHandler,                      \/\/ EXTI Line4                                                  IntDefaultHandler,                      \/\/ DMA1 Stream 0                                        IntDefaultHandler,                      \/\/ DMA1 Stream 1                                        IntDefaultHandler,                      \/\/ DMA1 Stream 2                                        IntDefaultHandler,                      \/\/ DMA1 Stream 3                                        IntDefaultHandler,                      \/\/ DMA1 Stream 4                                        IntDefaultHandler,                      \/\/ DMA1 Stream 5                                        IntDefaultHandler,                      \/\/ DMA1 Stream 6                                        IntDefaultHandler,                      \/\/ ADC1, ADC2 and ADC3s                                 IntDefaultHandler,                      \/\/ CAN1 TX                                                     IntDefaultHandler,                      \/\/ CAN1 RX0                                                    IntDefaultHandler,                      \/\/ CAN1 RX1                                                    IntDefaultHandler,                      \/\/ CAN1 SCE                                                    EXTI_Line6_IntHandler,                  \/\/ External Line[9:5]s                                         IntDefaultHandler,                      \/\/ TIM1 Break and TIM9                        IntDefaultHandler,                      \/\/ TIM1 Update and TIM10                      IntDefaultHandler,                      \/\/ TIM1 Trigger and Commutation and TIM11     IntDefaultHandler,                      \/\/ TIM1 Capture Compare                                        IntDefaultHandler,                      \/\/ TIM2                                                 IntDefaultHandler,                      \/\/ TIM3                                                 IntDefaultHandler,                      \/\/ TIM4                                                 IntDefaultHandler,                      \/\/ I2C1 Event                                                  IntDefaultHandler,                      \/\/ I2C1 Error                                                  IntDefaultHandler,                      \/\/ I2C2 Event                                                  IntDefaultHandler,                      \/\/ I2C2 Error                                                    IntDefaultHandler,                      \/\/ SPI1                                                 IntDefaultHandler,                      \/\/ SPI2                                                 IntDefaultHandler,                      \/\/ USART1                                               IntDefaultHandler,                      \/\/ USART2                                               IntDefaultHandler,                      \/\/ USART3                                               IntDefaultHandler,                      \/\/ External Line[15:10]s                                       IntDefaultHandler,                      \/\/ RTC Alarm (A and B) through EXTI Line                       IntDefaultHandler,                      \/\/ USB OTG FS Wakeup through EXTI line                             IntDefaultHandler,                      \/\/ TIM8 Break and TIM12                       IntDefaultHandler,                      \/\/ TIM8 Update and TIM13                      IntDefaultHandler,                      \/\/ TIM8 Trigger and Commutation and TIM14     IntDefaultHandler,                      \/\/ TIM8 Capture Compare                                        IntDefaultHandler,                      \/\/ DMA1 Stream7                                                IntDefaultHandler,                      \/\/ FSMC                                                 IntDefaultHandler,                      \/\/ SDIO                                                 IntDefaultHandler,                      \/\/ TIM5                                                 IntDefaultHandler,                      \/\/ SPI3                                                 IntDefaultHandler,                      \/\/ UART4                                                IntDefaultHandler,                      \/\/ UART5                                                IntDefaultHandler,                      \/\/ TIM6 and DAC1&2 underrun errors                        IntDefaultHandler,                      \/\/ TIM7                        IntDefaultHandler,                      \/\/ DMA2 Stream 0                                        IntDefaultHandler,                      \/\/ DMA2 Stream 1                                        IntDefaultHandler,                      \/\/ DMA2 Stream 2                                        IntDefaultHandler,                      \/\/ DMA2 Stream 3                                        IntDefaultHandler,                      \/\/ DMA2 Stream 4                                        IntDefaultHandler,                      \/\/ Ethernet                                             IntDefaultHandler,                      \/\/ Ethernet Wakeup through EXTI line                           IntDefaultHandler,                      \/\/ CAN2 TX                                                     IntDefaultHandler,                      \/\/ CAN2 RX0                                                    IntDefaultHandler,                      \/\/ CAN2 RX1                                                    IntDefaultHandler,                      \/\/ CAN2 SCE                                                    IntDefaultHandler,                      \/\/ USB OTG FS                                           IntDefaultHandler,                      \/\/ DMA2 Stream 5                                        IntDefaultHandler,                      \/\/ DMA2 Stream 6                                        IntDefaultHandler,                      \/\/ DMA2 Stream 7                                        IntDefaultHandler,                      \/\/ USART6                                                IntDefaultHandler,                      \/\/ I2C3 event                                                  IntDefaultHandler,                      \/\/ I2C3 error                                                  IntDefaultHandler,                      \/\/ USB OTG HS End Point 1 Out                           IntDefaultHandler,                      \/\/ USB OTG HS End Point 1 In                            IntDefaultHandler,                      \/\/ USB OTG HS Wakeup through EXTI                              IntDefaultHandler,                      \/\/ USB OTG HS                                           IntDefaultHandler,                      \/\/ DCMI                                                 IntDefaultHandler,                      \/\/ CRYP crypto                                          IntDefaultHandler,                      \/\/ Hash and Rng     IntDefaultHandler,                      \/\/ FPU };  \/\/ This is the code that gets called when the processor first starts execution \/\/ following a reset event.  Only the absolutely necessary set is performed, \/\/ after which the application supplied entry() routine is called.  Any fancy \/\/ actions (such as making decisions based on the reset cause register, and \/\/ resetting the bits in that register) are left solely in the hands of the \/\/ application. void ResetISR(void) {     \/\/     \/\/ Call the application's entry point.     \/\/     __iar_program_start(); }  \/\/ This is the code that gets called when the processor receives a NMI.  This \/\/ simply enters an infinite loop, preserving the system state for examination \/\/ by a debugger. static void NmiSR(void) {     \/\/     \/\/ Enter an infinite loop.     \/\/     while(1)     {     } }  \/\/ This is the code that gets called when the processor receives a fault \/\/ interrupt.  This simply enters an infinite loop, preserving the system state \/\/ for examination by a debugger. static void FaultISR(void) {     \/\/     \/\/ Enter an infinite loop.     \/\/     while(1)     {     } }  \/\/ This is the code that gets called when the processor receives an unexpected \/\/ interrupt.  This simply enters an infinite loop, preserving the system state \/\/ for examination by a debugger. static void IntDefaultHandler(void) {     \/\/     \/\/ Go into an infinite loop.     \/\/     while(1)     {     } } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435   <\/p>\n<pre><code class=\"cpp\">@ &quot;.intvec&quot; <\/code><\/pre>\n<p>\u0420\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 __vector_table \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0435\u043a\u0446\u0438\u0438, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u0432 \u0444\u0430\u0439\u043b\u0435 \u043b\u0438\u043d\u043a\u0435\u0440\u0430. \u0421\u0430\u043c \u0444\u0430\u0439\u043b \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u0443\u0442:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/780\/5d9\/8b5\/7805d98b59bbb5978258678266c819c5.png\"\/><\/p>\n<p>  \u0421\u0430\u043c\u0430 \u0441\u0435\u043a\u0446\u0438\u044f \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 ROM \u043f\u0430\u043c\u044f\u0442\u0438. \u0410\u0434\u0440\u0435\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"http:\/\/www.st.com\/st-web-ui\/static\/active\/en\/resource\/technical\/document\/programming_manual\/DM00023388.pdf\">\u0442\u0443\u0442<\/a> (\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u044f \u0444\u043b\u0435\u0448 \u043f\u0430\u043c\u044f\u0442\u0438 STM32):<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/a51\/8d0\/1dd\/a518d01dd5a628311c49bc7817373e69.png\"\/><\/p>\n<p>  \u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b IAR \u0438 \u0441\u043f\u0435\u0446\u0444\u0443\u043d\u043a\u0446\u0438\u0438 IAR:  <\/p>\n<pre><code class=\"cpp\">#pragma segment=&quot;CSTACK&quot; __sfe( &quot;CSTACK&quot; ) <\/code><\/pre>\n<p>\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0444\u043b\u0435\u0448\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0432\u0435\u0440\u0445\u0443\u0448\u043a\u0443 \u0441\u0442\u0435\u043a\u0430.<\/p>\n<p>  \u0421\u0430\u043c\u0443 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u0430\u0434\u0440\u0435\u0441\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u0432\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b. \u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0445 \u043d\u0430\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0439:  <\/p>\n<pre><code class=\"cpp\">extern void EXTI_Line0_IntHandler(void); extern void EXTI_Line6_IntHandler(void); <\/code><\/pre>\n<p>  \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0439 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a   <\/p>\n<pre><code class=\"cpp\">extern void __iar_program_start(void); <\/code><\/pre>\n<p>\u042d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u2014 main(). \u0421\u0430\u043c \u0441\u0438\u043c\u0432\u043e\u043b \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u0436\u0435\u043b\u0430\u043d\u0438\u0435:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/c83\/260\/c0a\/c83260c0a39d6e75af42fb3195614af6.png\"\/><\/p>\n<h5>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443<\/h5>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u043f\u0438\u0448\u0435\u043c \u0438 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0432\u0441\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0431\u0438\u0442\u043e\u0432\u044b\u0435 \u043f\u043e\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041b\u0438\u0441\u0442\u0438\u043d\u0433<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">\/\/Definitions for SCB_AIRCR register #define SCB_AIRCR\t\t\t(*(unsigned volatile long*)0xE000ED0C) \/\/acces to SCB_AIRCR #define SCB_AIRCR_GROUP22\t0x05FA0500 \/\/change priority data  \/\/Definitions for RCC_AHB1_ENR register #define RCC_AHB1_ENR\t\t(*(unsigned volatile long *)(0x40023830)) \/\/acces to RCC_AHB1ENR reg #define RCC_AHB1_ENR_GPIOA\t0x1 \/\/GPIOA bitfield #define RCC_AHB1_ENR_GPIOC\t0x4 \/\/GPIOC bitfield #define RCC_AHB1_ENR_GPIOD\t0x8 \/\/GPIOD bitfield  \/\/Definitions for RCC_APB2_ENR register #define RCC_APB2_ENR\t\t(*(unsigned volatile long *)(0x40023844)) \/\/acces to RCC_APB2ENR reg #define RCC_APB2_ENR_SYSCFG\t0x4000 \/\/SYSCFG bitfield \/\/Definitions for GPIO MODE registers #define GPIOA_MODER\t\t(*(unsigned volatile long*)(0x40020000)) \/\/acces to GPIOA_MODER reg #define GPIOC_MODER\t\t(*(unsigned volatile long*)(0x40020800)) \/\/acces to GPIOC_MODER reg #define GPIOD_MODER\t\t(*(unsigned volatile long*)(0x40020C00)) \/\/acces to GPIOD_MODER reg \/\/GPIO  ODR register definition #define GPIOD_ODR\t\t\t(*(unsigned volatile long*)(0x40020C14)) \/\/acces to GPIOD_MODER reg #define GPIO_ODR_13PIN\t\t0x2000 #define GPIO_ODR_14PIN\t\t0x4000 \/\/Bitfields definitions #define GPIO_MODER_0BITS\t0x3 \/\/Pin 0 mode bits #define GPIO_MODER_0IN\t\t0x0 \/\/Pin 0 input mode #define GPIO_MODER_6BITS\t\t0x300 \/\/Pin 6 mode bits #define GPIO_MODER_6IN\t\t0x000 \/\/Pin 6 input mode #define GPIO_MODER_13BITS\t0xC000000 \/\/Pin 13 mode bits #define GPIO_MODER_13OUT\t0x4000000 \/\/Pin 13 output mode #define GPIO_MODER_14BITS\t0x30000000 \/\/Pin 14 mode bits #define GPIO_MODER_14OUT\t0x10000000 \/\/Pin 14 output mode \/\/GPIOC_PUPDR register definition  #define GPIOC_PUPDR\t\t\t(*(unsigned volatile long*)(0x4002080C)) \/\/acces to GPIOC_PUPDR reg #define GPIOC_PUPDR_6BITS\t0x3000 \/\/PC6 bitfield #define GPIOC_PUPDR_6PU\t\t0x1000 \/\/PC6 pull-up enable \/\/SYSCFG_EXTIx registers definitions #define SYSCFG_EXTICR1\t\t(*(unsigned volatile long*)0x40013808)\t \/\/SYSCFG_EXTICR1 acces #define SYSCFG_EXTICR1_0BITS 0xF \/\/EXTI 0 bits #define SYSCFG_EXTICR1_0PA\t0x0 \/\/EXTI 0 - port A #define SYSCFG_EXTICR2\t\t(*(unsigned volatile long*)0x4001380C) \/\/SYSCFG_EXTICR2 acces #define SYSCFG_EXTICR2_6BITS 0xF00 \/\/EXTI 6 bits #define SYSCFG_EXTICR2_6PC\t0x200 \/\/EXTI 6 - port C \/\/EXTI definitions #define EXTI_IMR\t(*(unsigned volatile long*)0x40013C00) \/\/EXTI_IMR reg acces #define EXTI_LINE0\t0x1 \/\/LINE 0 definition #define EXTI_LINE6\t0x40 \/\/LINE 6 definition #define EXTI_RTSR (*(unsigned volatile long*)0x40013C08) \/\/EXTI_RTSR reg acces #define EXTI_FTSR (*(unsigned volatile long*)0x40013C0C) \/\/EXTI_FTSR reg acces #define EXTI_PR\t(*(unsigned volatile long*)0x40013C14) \/\/EXTI_PR reg acces \/\/NVIC registers and bits definitions #define NVIC_ISER0_REG\t\t(*(unsigned volatile long*)0xE000E100) \/\/NVIC_ISER0 reg acces #define NVIC_ISER0_6VECT\t0x40 \/\/vect 6 definition #define NVIC_ISER0_23VECT\t0x800000 \/\/vect 30 definition  #define NVIC_IPR0_ADD\t(0xE000E400) #define NVIC_IPR23_REG\t(*(unsigned volatile char*)(NVIC_IPR0_ADD + 23)) #define NVIC_IPR6_REG\t(*(unsigned volatile char*)(NVIC_IPR0_ADD + 6)) <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043f\u0435\u0446\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u041c\u041a \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u044b \u043a\u0430\u043a <i>volatile<\/i>. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043d\u0438\u043c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0447\u0430\u0441\u0442\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u0431\u0435\u0437 \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u044f\u0434\u0440\u0430.<\/p>\n<h6>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432<\/h6>\n<p>  \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0442\u043e\u0438\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439:<\/p>\n<pre><code class=\"cpp\">SCB_AIRCR = SCB_AIRCR_GROUP22;<\/code><\/pre>\n<p>.\u0414\u0430\u043d\u043d\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u0412 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u043a\u0442. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u044b \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438.<\/p>\n<h6>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438<\/h6>\n<p>  \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u0445 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:  <\/p>\n<pre><code class=\"cpp\">\/\/Enable SYSCFG , GPIO port A and D clocking RCC_AHB1_ENR |= RCC_AHB1_ENR_GPIOA|RCC_AHB1_ENR_GPIOC|RCC_AHB1_ENR_GPIOD; RCC_APB2_ENR |= RCC_APB2_ENR_SYSCFG;<\/code><\/pre>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u0441 SYSCFG \u043d\u0435\u043b\u044c\u0437\u044f, \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u043e\u0436\u0434\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a\u0442\u043e\u0432. \u041d\u043e \u043c\u044b \u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c. \u0417\u0430\u0439\u043c\u0435\u043c\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 GPIO.<\/p>\n<h6>\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f GPIO<\/h6>\n<p>  \u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435 \u043a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437:  <\/p>\n<pre><code class=\"cpp\">\/\/LED3 and LED5 initialization GPIOD_MODER = (GPIOD_MODER & (~GPIO_MODER_13BITS)) | GPIO_MODER_13OUT; GPIOD_MODER = (GPIOD_MODER & (~GPIO_MODER_14BITS)) | GPIO_MODER_14OUT;<\/code><\/pre>\n<p>  \u041a\u043d\u043e\u043f\u043a\u0430 PA0 \u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 PC7 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0432\u0445\u043e\u0434\u043d\u044b\u0435:  <\/p>\n<pre><code class=\"cpp\">\/\/PA0 and PC6 pins initialization GPIOA_MODER = (GPIOA_MODER & (~GPIO_MODER_0BITS)) | GPIO_MODER_0IN; GPIOC_MODER = (GPIOC_MODER & (~GPIO_MODER_6BITS)) | GPIO_MODER_6IN;<\/code><\/pre>\n<p>  \u0412\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430 PC6 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0442\u044f\u0436\u043a\u0443 \u043f\u0438\u0442\u0430\u043d\u0438\u044f. \u0410\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u043f\u043e\u0434\u0442\u044f\u0436\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 GPIOC_PUPDR:  <\/p>\n<pre><code class=\"cpp\">\/\/Enable PC6 pull-up GPIOC_PUPDR = (GPIOC_PUPDR & (~GPIOC_PUPDR_7BITS)) | GPIOC_PUPDR_6PU;<\/code><\/pre>\n<h6>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 EXTI<\/h6>\n<p>  \u0418 \u0442\u0430\u043a, \u043d\u0430 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u2014 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043b\u0438\u043d\u0438\u0439 0 \u0438 6, \u0434\u043b\u044f \u043b\u0438\u043d\u0438\u0438 0 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u0440\u0430\u0441\u0442\u0443\u0449\u0435\u043c\u0443 \u0444\u0440\u043e\u043d\u0442\u0443, \u0434\u043b\u044f \u043b\u0438\u043d\u0438\u0438 6 \u2014 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043f\u0430\u0434\u0430\u044e\u0449\u0435\u043c\u0443 \u0444\u0440\u043e\u043d\u0442\u0443:  <\/p>\n<pre><code class=\"cpp\">\/\/Set up EXTI EXTI_RTSR |= EXTI_LINE0; EXTI_FTSR |= EXTI_LINE6; EXTI_IMR  = EXTI_LINE0|EXTI_LINE6;<\/code><\/pre>\n<p>  \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0438\u043d\u044b \u043a\u0430\u043a\u0438\u0445 \u043f\u043e\u0440\u0442\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043a \u043b\u0438\u043d\u0438\u0438 EXTI (\u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u041c\u041a stellaris \u043c\u043e\u0433\u0443\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0438\u043d\u043e\u0432, \u0443 STM32 \u0441 \u044d\u0442\u0438\u043c \u0441\u043b\u043e\u0436\u043d\u0435\u0435):  <\/p>\n<pre><code class=\"cpp\">\/\/EXTI to port  connection SYSCFG_EXTICR1 = (SYSCFG_EXTICR1&(~SYSCFG_EXTICR1_0BITS)) | SYSCFG_EXTICR1_0PA; SYSCFG_EXTICR2 = (SYSCFG_EXTICR2&(~SYSCFG_EXTICR2_6BITS)) | SYSCFG_EXTICR2_6PC;<\/code><\/pre>\n<h6>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 NVIC<\/h6>\n<p>  \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u0434\u043b\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b <i>NVIC_IPR<\/i> \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u043f\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f, \u0447\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u0442\u043e\u043b\u044c\u043a\u043e \u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c \u0431\u0430\u0439\u0442\u0430\u043c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0434\u0432\u0438\u0433 \u043d\u0430 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0443 \u043d\u043e\u043c\u0435\u0440\u0430 \u0432\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f (\u0441\u043c. \u043b\u0438\u0441\u0442\u0438\u043d\u0433 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439). \u0415\u0449\u0435 \u0440\u0430\u0437 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e EXTI Line 0 \u0438\u043c\u0435\u0435\u0442 6 \u043d\u043e\u043c\u0435\u0440 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432, \u0430 EXTI line 5_9 \u2014 \u043d\u043e\u043c\u0435\u0440 23. \u0423 STM32 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u0435 4 \u0431\u0438\u0442\u0430 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430:  <\/p>\n<pre><code class=\"cpp\">\/\/Set interrupts priority NVIC_IPR6_REG = 0xF0; NVIC_IPR23_REG = 0x0;<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438.<br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"cpp\">\/\/Enable interrupts NVIC_ISER0_REG |= NVIC_ISER0_6VECT | NVIC_ISER0_23VECT;<\/code><\/pre>\n<p>  \u0421 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u0438 \u0437\u0430\u043a\u043e\u0440\u043e\u0442\u043a\u0438 PC6 \u0438 GND \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u0432\u044b\u0437\u043e\u0432\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 EXTI_Line0_IntHandler \u0438 EXTI_Line6_IntHandler \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<h6>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439<\/h6>\n<p>  \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0436\u0435\u0447\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b. \u0414\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0432 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0441 \u0432\u0435\u0447\u043d\u044b\u043c \u0446\u0438\u043a\u043b\u043e\u043c \u043d\u0438\u0436\u0435 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u0430 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u2014 \u0442\u043e \u043e\u043d\u043e \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u043d\u043e. \u0418\u043d\u0430\u0447\u0435, \u043e\u043d\u043e \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u043e\u0435. \u042f \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0432\u0430\u043c \u0441\u0430\u043c\u0438\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0437\u043d\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043a \u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 (<i>\u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415 \u2014 \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u043f\u0440\u043e \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439!<\/i>).  <\/p>\n<pre><code class=\"cpp\">void EXTI_Line0_IntHandler(void) { \t\/\/Clear interrupt \tEXTI_PR = EXTI_LINE0; \t\/\/Turn on LED 3 \tGPIOD_ODR |= GPIO_ODR_13PIN; } void EXTI_Line6_IntHandler(void) { \t\/\/Clear interrupt \tEXTI_PR = EXTI_LINE6; \t\/\/Turn LED4  \tGPIOD_ODR |= GPIO_ODR_14PIN; \twhile(1); }<\/code><\/pre>\n<h4>\u0412\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/h4>\n<p>  \u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043f\u043e\u043b\u043d\u044b\u0439 \u043b\u0438\u0441\u0442\u0438\u043d\u0433 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041b\u0438\u0441\u0442\u0438\u043d\u0433<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">\/\/Definitions for SCB_AIRCR register #define SCB_AIRCR\t\t\t(*(unsigned volatile long*)0xE000ED0C) \/\/acces to SCB_AIRCR #define SCB_AIRCR_GROUP22\t0x05FA0500 \/\/change priority data  \/\/Definitions for RCC_AHB1_ENR register #define RCC_AHB1_ENR\t\t(*(unsigned volatile long *)(0x40023830)) \/\/acces to RCC_AHB1ENR reg #define RCC_AHB1_ENR_GPIOA\t0x1 \/\/GPIOA bitfield #define RCC_AHB1_ENR_GPIOC\t0x4 \/\/GPIOC bitfield #define RCC_AHB1_ENR_GPIOD\t0x8 \/\/GPIOD bitfield  \/\/Definitions for RCC_APB2_ENR register #define RCC_APB2_ENR\t\t(*(unsigned volatile long *)(0x40023844)) \/\/acces to RCC_APB2ENR reg #define RCC_APB2_ENR_SYSCFG\t0x4000 \/\/SYSCFG bitfield \/\/Definitions for GPIO MODE registers #define GPIOA_MODER\t\t\t(*(unsigned volatile long*)(0x40020000)) \/\/acces to GPIOA_MODER reg #define GPIOC_MODER\t\t\t(*(unsigned volatile long*)(0x40020800)) \/\/acces to GPIOC_MODER reg #define GPIOD_MODER\t\t\t(*(unsigned volatile long*)(0x40020C00)) \/\/acces to GPIOD_MODER reg \/\/GPIO  ODR register definition #define GPIOD_ODR\t\t\t(*(unsigned volatile long*)(0x40020C14)) \/\/acces to GPIOD_MODER reg #define GPIO_ODR_13PIN\t\t0x2000 #define GPIO_ODR_14PIN\t\t0x4000 \/\/Bitfields definitions #define GPIO_MODER_0BITS\t0x3 \/\/Pin 0 mode bits #define GPIO_MODER_0IN\t\t0x0 \/\/Pin 0 input mode #define GPIO_MODER_6BITS\t        0x300 \/\/Pin 6 mode bits #define GPIO_MODER_6IN\t\t0x000 \/\/Pin 6 input mode #define GPIO_MODER_13BITS\t0xC000000 \/\/Pin 13 mode bits #define GPIO_MODER_13OUT\t0x4000000 \/\/Pin 13 output mode #define GPIO_MODER_14BITS\t0x30000000 \/\/Pin 14 mode bits #define GPIO_MODER_14OUT\t0x10000000 \/\/Pin 14 output mode \/\/GPIOC_PUPDR register definition  #define GPIOC_PUPDR\t\t\t(*(unsigned volatile long*)(0x4002080C)) \/\/acces to GPIOC_PUPDR reg #define GPIOC_PUPDR_6BITS\t0x3000 \/\/PC6 bitfield #define GPIOC_PUPDR_6PU\t\t0x1000 \/\/PC6 pull-up enable \/\/SYSCFG_EXTIx registers definitions #define SYSCFG_EXTICR1\t\t(*(unsigned volatile long*)0x40013808)\t \/\/SYSCFG_EXTICR1 acces #define SYSCFG_EXTICR1_0BITS 0xF \/\/EXTI 0 bits #define SYSCFG_EXTICR1_0PA\t0x0 \/\/EXTI 0 - port A #define SYSCFG_EXTICR2\t\t(*(unsigned volatile long*)0x4001380C) \/\/SYSCFG_EXTICR2 acces #define SYSCFG_EXTICR2_6BITS 0xF00 \/\/EXTI 6 bits #define SYSCFG_EXTICR2_6PC\t0x200 \/\/EXTI 6 - port C \/\/EXTI definitions #define EXTI_IMR\t(*(unsigned volatile long*)0x40013C00) \/\/EXTI_IMR reg acces #define EXTI_LINE0\t0x1 \/\/LINE 0 definition #define EXTI_LINE6\t0x40 \/\/LINE 6 definition #define EXTI_RTSR (*(unsigned volatile long*)0x40013C08) \/\/EXTI_RTSR reg acces #define EXTI_FTSR (*(unsigned volatile long*)0x40013C0C) \/\/EXTI_FTSR reg acces #define EXTI_PR\t(*(unsigned volatile long*)0x40013C14) \/\/EXTI_PR reg acces \/\/NVIC registers and bits definitions #define NVIC_ISER0_REG\t\t(*(unsigned volatile long*)0xE000E100) \/\/NVIC_ISER0 reg acces #define NVIC_ISER0_6VECT\t0x40 \/\/vect 6 definition #define NVIC_ISER0_23VECT\t0x800000 \/\/vect 30 definition  #define NVIC_IPR0_ADD\t(0xE000E400) #define NVIC_IPR23_REG\t(*(unsigned volatile char*)(NVIC_IPR0_ADD + 23)) #define NVIC_IPR6_REG\t(*(unsigned volatile char*)(NVIC_IPR0_ADD + 6))  void EXTI_Line0_IntHandler(void); void EXTI_Line6_IntHandler(void);  void main() { \t\/\/NVIC \tSCB_AIRCR = SCB_AIRCR_GROUP22;  \t\/\/Enable SYSCFG , GPIO port A,C and D clocking \tRCC_AHB1_ENR |= RCC_AHB1_ENR_GPIOA|RCC_AHB1_ENR_GPIOC|RCC_AHB1_ENR_GPIOD; \tRCC_APB2_ENR |= RCC_APB2_ENR_SYSCFG; \t \t\/\/LED3 and LED5 initialization \tGPIOD_MODER = (GPIOD_MODER & (~GPIO_MODER_13BITS)) | GPIO_MODER_13OUT; \tGPIOD_MODER = (GPIOD_MODER & (~GPIO_MODER_14BITS)) | GPIO_MODER_14OUT;  \t\/\/PA0 and PC6 pins initialization \tGPIOA_MODER = (GPIOA_MODER & (~GPIO_MODER_0BITS)) | GPIO_MODER_0IN; \tGPIOC_MODER = (GPIOC_MODER & (~GPIO_MODER_6BITS)) | GPIO_MODER_6IN; \t\/\/Enable PC7 pull-up \tGPIOC_PUPDR = (GPIOC_PUPDR & (~GPIOC_PUPDR_6BITS)) | GPIOC_PUPDR_6PU; \t \t\/\/Set up EXTI \tEXTI_RTSR |= EXTI_LINE0; \tEXTI_FTSR |= EXTI_LINE6; \tEXTI_IMR  = EXTI_LINE0|EXTI_LINE6;  \t\/\/EXTI to port  connection \tSYSCFG_EXTICR1 = (SYSCFG_EXTICR1&(~SYSCFG_EXTICR1_0BITS)) | SYSCFG_EXTICR1_0PA; \tSYSCFG_EXTICR2 = (SYSCFG_EXTICR2&(~SYSCFG_EXTICR2_6BITS)) | SYSCFG_EXTICR2_6PC;  \t\/\/Set interrupts priority \tNVIC_IPR6_REG = 0xF0; \tNVIC_IPR23_REG = 0x00; \t\/\/Enable interrupts \tNVIC_ISER0_REG |= NVIC_ISER0_6VECT | NVIC_ISER0_23VECT;  \twhile(1) \t{ \t} }  void EXTI_Line0_IntHandler(void) { \t\/\/Clear interrupt \tEXTI_PR = EXTI_LINE0; \t\/\/Turn on LED 3 \tGPIOD_ODR |= GPIO_ODR_13PIN; } void EXTI_Line6_IntHandler(void) { \t\/\/Clear interrupt \tEXTI_PR = EXTI_LINE6; \t\/\/Turn LED4          GPIOD_ODR |= GPIO_ODR_14PIN;         while(1); } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u043b\u0438\u044f\u043d\u0438\u044f \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0438 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u0432 \u0433\u0440\u0443\u043f\u043f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b \u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c (\u0434\u0432\u0430 \u0431\u0438\u0442\u0430 \u2014 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b, 2 \u0431\u0438\u0442\u0430 \u2014 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u044b).    \t<\/p>\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\/218825\/\"> http:\/\/habrahabr.ru\/post\/218825\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0446\u0438\u043a\u043b\u0430 \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 \u044f\u0434\u0440\u0430 Cortex-M.<br \/>  \u041f\u0435\u0440\u0432\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u0434\u0435\u0441\u044c:<br \/>  <a href=\"http:\/\/habrahabr.ru\/post\/216843\">\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0438\u0437\u0443\u0447\u0430\u0442\u044c Cortex-M \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 STM32<\/a><br \/>  \u0417\u0430\u0434\u0430\u0447\u0435\u0439 \u0441\u0442\u0430\u0442\u0435\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0449\u0438\u0445 \u043f\u0440\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u041c\u041a. \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0445 \u0437\u0430 10 \u043c\u0438\u043d\u0443\u0442 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u043c\u0438\u0433\u0430\u043d\u0438\u044f \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c. \u042f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u043e \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u043e\u0442 \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u043d\u0435 \u043d\u0430\u043f\u0443\u0433\u0430\u0442\u044c.<\/p>\n<p>  \u041c\u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0448\u0430\u0431\u043b\u043e\u043d\u044b, \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438 \u0442.\u0434. \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0438 \u043a\u0430\u043a \u0432\u0441\u0435 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0410 \u043f\u0440\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u044d\u0442\u0438\u0445 \u0441\u0430\u043c\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043c\u043e\u0433\u043b\u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u0437\u0430\u0434\u0430\u0447\u0443.<\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0430\u043a\u0446\u0435\u043d\u0442 \u0441\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u044f\u0434\u0440\u043e Cortex-M \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440.<br \/>  \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043f\u0440\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u041c\u041a.  <\/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-218825","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/218825","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=218825"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/218825\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=218825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=218825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=218825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}