{"id":161863,"date":"2012-12-08T14:14:04","date_gmt":"2012-12-08T10:14:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=161863"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=161863","title":{"rendered":"<span class=\"post_title\">STM32 + linux<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u043e\u0439 \u043f\u043e\u0441\u043b\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0438\u0441\u043a\u043e\u0432 \u043c\u043d\u043e\u044e \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d ARM-\u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 STM32 \u2014 STM32F103 (\u0432 \u00ab\u0441\u0442\u043e\u043d\u043e\u0436\u0435\u0447\u043d\u043e\u043c\u00bb \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438). \u0410 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0430\u043a\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u2014 STM32F103 (\u0442\u0430\u043c \u043d\u043e\u0436\u0435\u043a \u0445\u043e\u0442\u044c \u0438 \u043c\u0435\u043d\u044c\u0448\u0435, \u043d\u043e \u0441\u0430\u043c\u043e \u044f\u0434\u0440\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435). \u00ab\u0418\u0441\u0442\u043e\u0440\u0438\u0438 \u0443\u0441\u043f\u0435\u0445\u0430\u00bb \u044f \u043f\u043e\u043d\u0435\u043c\u043d\u043e\u0433\u0443 \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b \u0432 \u0441\u0432\u043e\u0435\u0439 \u0416\u0416\u0448\u043a\u0435, \u043d\u043e \u0432\u043e\u0442 \u0440\u0435\u0448\u0438\u043b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0435\u0434\u0438\u043d\u043e \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u043e\u0432\u043e \u0436\u0435 \u043e\u043d\u043e \u2014 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0432 \u043b\u0438\u043d\u0443\u043a\u0441\u0435. \u0421\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442 \u043b\u0435\u0436\u0438\u0442 \u043d\u0430 <a href=\"https:\/\/sourceforge.net\/projects\/ircontroller\/\">sourceforge<\/a>.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043a\u043e\u0441\u043d\u0443\u0441\u044c \u043e\u0431\u0449\u0435\u0433\u043e, \u0430 \u043f\u043e\u0442\u043e\u043c \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0443 \u043a \u0434\u0435\u0442\u0430\u043b\u044f\u043c.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u043e\u043c\u0438\u043c\u043e \u043c\u0430\u043a\u0435\u0442\u043a\u0438 (\u0438\u043b\u0438 \u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u2014 \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u043e) \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f JTAG-\u0430\u0434\u0430\u043f\u0442\u0435\u0440. \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u2014 ST-LINK\/V2. \u041e\u0434\u043d\u043e\u0433\u043e \u0436\u0435\u043b\u0435\u0437\u0430, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e: \u043d\u0430\u0434\u043e \u0435\u0449\u0435 \u043a\u0430\u043a-\u0442\u043e \u043a\u043e\u0434 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0430 \u043f\u043e\u0442\u043e\u043c \u0435\u0449\u0435 \u0438 \u0437\u0430\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0431\u044b\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 gcc \u0434\u043b\u044f ARM (arm-none-eabi) \u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 ST-LINK (\u043e\u043d\u0430 \u0442\u0430\u043a \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u2014 stlink).<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0431\u0440\u0430\u0437\u0446\u0430 \u044f \u0432\u0437\u044f\u043b <a href=\"https:\/\/github.com\/h0rr0rrdrag0n\/stm32vldiscovery-linux-template\">\u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442<\/a>. <a href=\"https:\/\/www.olimex.com\/Products\/ARM\/ST\/STM32-P103\/\">\u041e\u0442\u0441\u044e\u0434\u0430<\/a> \u044f \u0441\u043a\u0430\u0447\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439. \u0410 \u0441\u0430\u043c\u044b\u043c \u043f\u0435\u0440\u0432\u044b\u043c \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 Helloworld \u0434\u043b\u044f \u041c\u041a: \u043c\u0438\u0433\u0430\u043d\u0438\u0435 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c.<\/p>\n<p>  \u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u043d\u0430 \u043a\u0430\u043a\u0438\u0435 \u0433\u0440\u0430\u0431\u043b\u0438 \u044f \u043d\u0430\u043f\u043e\u0440\u043e\u043b\u0441\u044f \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430: \u044f \u0437\u0430\u0431\u044b\u043b \u043f\u0440\u043e objcopy, \u0431\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0432\u0430\u0442\u043e. \u041f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0434\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u044d\u0442\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u044b. \u0418 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u0438\u0437 Makefile&#8217;\u043e\u0432 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0445 (\u0438 \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u0434\u0430\u0436\u0435 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434) \u0446\u0435\u043b\u0435\u0439.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e IDE \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e Geany. \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435 \u0443 \u043c\u0435\u043d\u044f \u0434\u0432\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0430, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c: \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0435 \u0443 \u043c\u0435\u043d\u044f \u043e\u0442\u043a\u0440\u044b\u0442 Geany \u0441 \u043a\u043e\u0434\u043e\u043c, \u0430 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u2014 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b, \u0433\u0434\u0435 \u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e make \u0438 com (\u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0438\u0437 tinyserial).<\/p>\n<p>  \u0412\u0435\u0441\u044c Makefile \u044f \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u043e\u0431\u0440\u0430\u0449\u0443 \u043b\u0438\u0448\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0432 \u043d\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>BIN=testproject \u2026 STM32_LIBSRC+=stm32_lib\/misc.c STM32_LIBSRC+=stm32_lib\/stm32f10x_adc.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_bkp.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_can.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_cec.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_crc.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_dac.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_dbgmcu.c STM32_LIBSRC+=stm32_lib\/stm32f10x_dma.c STM32_LIBSRC+=stm32_lib\/stm32f10x_exti.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_flash.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_fsmc.c STM32_LIBSRC+=stm32_lib\/stm32f10x_gpio.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_i2c.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_it.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_iwdg.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_pwr.c STM32_LIBSRC+=stm32_lib\/stm32f10x_rcc.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_rtc.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_sdio.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_spi.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_tim.c STM32_LIBSRC+=stm32_lib\/stm32f10x_usart.c #~ STM32_LIBSRC+=stm32_lib\/stm32f10x_wwdg.c \u2026 SRC=hw_config.c  main.c leds.c  interrupts.c  usb_desc.c usb_istr.c \\ \tusb_prop.c  usb_pwr.c onewire.c \u2026 #~ OBJ+=stm32f10x_bkp.o #~ OBJ+=stm32f10x_can.o #~ OBJ+=stm32f10x_cec.o #~ OBJ+=stm32f10x_crc.o #~ OBJ+=stm32f10x_dac.o #~ OBJ+=stm32f10x_dbgmcu.o OBJ+=stm32f10x_dma.o OBJ+=stm32f10x_exti.o #~ OBJ+=stm32f10x_flash.o #~ OBJ+=stm32f10x_fsmc.o OBJ+=stm32f10x_gpio.o #~ OBJ+=stm32f10x_i2c.o #~ OBJ+=stm32f10x_it.o #~ OBJ+=stm32f10x_iwdg.o #~ OBJ+=stm32f10x_pwr.o OBJ+=stm32f10x_rcc.o #~ OBJ+=stm32f10x_rtc.o #~ OBJ+=stm32f10x_sdio.o #~ OBJ+=stm32f10x_spi.o #~ OBJ+=stm32f10x_tim.o OBJ+=stm32f10x_usart.o #~ OBJ+=stm32f10x_wwdg.o <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <\/p>\n<ul>\n<li>BIN \u2014 \u0438\u043c\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a\u0430<\/li>\n<li>STM32_LIBSRC \u0438 OBJ \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 STDPeriphLib, \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043d\u0430\u0434\u043e \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/li>\n<li>SRC \u0441\u0434\u043e\u0435\u0440\u0436\u0438\u0442 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043a\u043e\u0434 \u043d\u0430\u043f\u0438\u0441\u0430\u043d, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c make. \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0444\u0430\u0439\u043b $(BIN).bin, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u043e \u0444\u043b\u0435\u0448-\u043f\u0430\u043c\u044f\u0442\u044c \u041c\u041a\u0448\u043a\u0438. \u0417\u0430\u043f\u0438\u0441\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 make load: \u044d\u0442\u0430 \u0446\u0435\u043b\u044c \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 st-flash \u0434\u043b\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430.<\/p>\n<h3>USB<\/h3>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u043b\u0430\u0434\u0438\u0442\u044c \u0441\u0432\u044f\u0437\u044c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0438 \u041c\u041a\u0448\u043a\u0438. \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0442\u043e, \u0447\u0442\u043e \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u0445 RS-232 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0443\u044e \u0441\u0432\u044f\u0437\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u044e \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c USB. \u041e\u0434\u043d\u0430\u043a\u043e, \u0432 \u00ab\u0431\u043e\u0435\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445\u00bb \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u041c\u041a\u0448\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u043e RS-232 \u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u0441\u0440\u0430\u0437\u0443 \u0436\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a\u0430 USB&lt;-&gt;RS-232. \u042d\u0442\u043e\u0442 \u043f\u043e\u0434\u0445\u043e\u0434 \u0443\u0434\u043e\u0431\u0435\u043d \u0435\u0449\u0435 \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0435 \u043d\u0430\u0434\u043e \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u043b\u0438\u0448\u043d\u0438\u043c \u043a\u043e\u0434\u043e\u043c \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c \u043f\u043e USB (\u0445\u043e\u0442\u044c \u044d\u0442\u043e \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u043e, \u043d\u043e \u043b\u0435\u043d\u044c \u0436\u0435!). \u0414\u0430 \u0438 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e: \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \/dev\/ttyACM0 \u043a\u0430\u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0438 \u00ab\u043e\u0431\u0449\u0430\u0435\u043c\u0441\u044f\u00bb. \u0414\u0430, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u0440\u0430\u0445 (\u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u041f\u041e \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430) \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b tinyserial.<\/p>\n<p>  <a href=\"http:\/\/stm32-ezhik.narod.ru\/files\/stm32\/SampleSomeDevice_CLU_src_1.1.0.zip\">\u041e\u0442\u0441\u044e\u0434\u0430<\/a> \u044f \u0441\u043a\u0430\u0447\u0430\u043b \u043a\u043e\u0434 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a\u0430 USB&lt;-&gt;RS-232. \u0422\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b (RS-232) \u044f \u0441\u0440\u0430\u0437\u0443 \u043d\u0435 \u043c\u043e\u0433 (\u043d\u0435\u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c), \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 USART \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b.<\/p>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 USB \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043e\u0442 STMicroelectronics. \u0415\u0441\u043b\u0438 \u043d\u0435 \u0432\u043d\u0438\u043a\u0430\u0442\u044c \u0432 \u043a\u043e\u0434\u044b \u0441\u0430\u043c\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0432\u0441\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e-\u0442\u0430\u043a\u0438 \u043f\u0440\u043e\u0441\u0442\u043e: \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0435\u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0440\u044b \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u0438 (\u0444\u0430\u0439\u043b\u044b usb_desc.[ch]), \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u043e\u043f\u043e\u0437\u043d\u0430\u043b \u0435\u0435 \u043a\u0430\u043a \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a USB&lt;-&gt;RS-232, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u043d\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f USB (\u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u2014 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a\u0430, \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0435\u0449\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 USART \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043e\u0442\u0442\u0443\u0434\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e USB).<\/p>\n<p>  \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u043a\u043e\u043b\u044c\u0446\u0435\u0432\u043e\u0433\u043e \u0431\u0443\u0444\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f, \u0430 \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u2014 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e USB. \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0435\u043c \u0432 \u00ab\u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440\u00bb. \u0422\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u044b\u043b\u043e\u043a \u044f \u043d\u0435 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043b\u0441\u044f. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442, \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u043f\u0440\u0438\u0435\u043c\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 USB.<\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0441 1-wire \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432) \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e-\u0442\u0430\u043a\u0438 \u0434\u043e\u043b\u0433\u043e, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0438\u0448\u0435\u0434\u0448\u0438\u0445 \u043f\u043e USB \u043a\u043e\u043c\u0430\u043d\u0434 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442 \u0444\u043b\u0430\u0433\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0430 \u0443\u0436 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0446\u0438\u043a\u043b \u0432 main() \u044d\u0442\u0438 \u0444\u043b\u0430\u0433\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442. \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0431\u044b\u0441\u0442\u0440\u043e (\u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c), \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0412 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0445 \u0446\u0435\u043b\u044f\u0445 \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u00ab\u044d\u0445\u043e\u00bb \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u0432\u0438\u0434\u0435 \u043a\u0440\u0430\u0442\u043a\u043e\u0439 \u0435\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>void usb_handle_command(uint16_t cnt){ \tuint8_t command, *answer; \tuint16_t i; \tfor(i = 0; i &lt; cnt; i++){ \t\tcommand = USB_Rx_Buffer[i]; \t\tswitch(command){ \t\t\tcase CMD_LED_ON: \t\t\t\tLED_On(); \t\t\t\tanswer = (uint8_t*)&quot;On&quot;; \t\t\tbreak; \t\t\tcase CMD_LED_OFF: \t\t\t\tLED_Off(); \t\t\t\tanswer = (uint8_t*)&quot;Off&quot;; \t\t\tbreak; \t\t\tcase CMD_LED_BLINK: \t\t\t\tLED_OnBlink(); \t\t\t\tanswer = (uint8_t*)&quot;Blk&quot;; \t\t\tbreak; \t\t\tcase CMD_LED_DUTY_PLUS: \t\t\t\tLED_DutyPlus(); \t\t\t\tanswer = (uint8_t*)&quot;Shn&quot;; \t\t\tbreak; \t\t\tcase CMD_LED_DUTY_MINUS: \t\t\t\tLED_DutyMinus(); \t\t\t\tanswer = (uint8_t*)&quot;Fad&quot;; \t\t\tbreak; \t\t\tcase CMD_1W_GET_TEMP: \t\t\t\tFLAGS |= FLAG_READ_T; \t\t\t\tanswer = (uint8_t*)&quot;Read T&quot;; \t\t\tbreak; \t\t\tcase CMD_1W_GET_DEV: \t\t\t\tFLAGS |= FLAG_GETDEV; \t\t\t\tanswer = (uint8_t*)&quot;find devices&quot;; \t\t\tbreak; \t\t\tcase CMD_1W_PRNT_DEV: \t\t\t\tFLAGS |= FLAG_PRINTDEV; \t\t\t\tanswer = (uint8_t*)&quot;Print devices&quot;; \t\t\tbreak; \t\t\tcase CMD_HALL_GET: \t\t\t\tFLAGS |= FLAG_PRINTHALL; \t\t\t\tanswer = (uint8_t*)&quot;Print Hall&quot;; \t\t\tbreak; \t\t\tcase CMD_ADC_GET: \t\t\t\tFLAGS |= FLAG_PRINTADC; \t\t\t\tanswer = (uint8_t*)&quot;Print ADC val&quot;; \t\t\tbreak; \t\t\tdefault: \t\t\t\tanswer = (uint8_t*)&quot;Unk&quot;; \t\t} \t\tnewline(); \t\tprnt(answer); \t\tnewline(); \t} } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412\u0441\u0435, \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043c\u0430\u043a\u0435\u0442\u043a\u0438 \u043a \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 \u043f\u043e USB (\u0430 \u043e\u043d\u0430, \u0432\u043e\u043e\u0431\u0449\u0435-\u0442\u043e, \u0443 \u043c\u0435\u043d\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430, \u0442.\u043a. \u043f\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 USB) \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \/dev\/ttyACM0, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043a\u0430\u043a \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0440\u0442\u043e\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0435\u0433\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 (\u043a\u0430\u043a \u044f \u0443\u0436\u0435 \u0432\u044b\u0448\u0435 \u0441\u043a\u0430\u0437\u0430\u043b, \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u0440\u0430\u0445 \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0441\u044c tinyserial).<\/p>\n<h3>\u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434, \u043a\u043d\u043e\u043f\u043a\u0430<\/h3>\n<p>  \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u00ab\u043f\u043e\u043c\u0438\u0433\u0430\u0442\u044c \u0434\u0438\u043e\u0434\u043e\u043c\u00bb \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u043d\u043e\u0432\u043e\u0439 \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u044f \u0441\u0434\u0435\u043b\u0430\u044e \u0442\u0430\u043a \u0436\u0435. \u0410 \u0437\u0430\u043e\u0434\u043d\u043e \u043f\u043e\u0432\u0435\u0448\u0443 \u043d\u0430 \u00abuser button\u00bb \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c \u0440\u0435\u0436\u0438\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430.<\/p>\n<p>  \u041f\u0440\u043e\u0441\u0442\u043e \u043c\u0438\u0433\u0430\u0442\u044c \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e: \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u044f\u0440\u043a\u043e\u0441\u0442\u044c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u00ab\u0441\u043e\u0444\u0442\u043e\u0432\u043e\u0433\u043e\u00bb \u0428\u0418\u041c\u0430. \u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0442\u0430\u0439\u043c\u0435\u0440 SysTick \u043d\u0430 \u043f\u0435\u0440\u0438\u043e\u0434 \u0432 10\u043c\u043a\u0441. \u0417\u0430\u0432\u0435\u0434\u0435\u043c \u0434\u0432\u0430 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430: \u043e\u0434\u0438\u043d \u0434\u043b\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u00ab\u0442\u0438\u043a\u043e\u0432\u00bb, \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u0433\u043e\u0440\u0438\u0442, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u0434\u043b\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u00ab\u0442\u0438\u043a\u043e\u0432\u00bb, \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u043d\u0435 \u0433\u043e\u0440\u0438\u0442. \u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044f\u0440\u043a\u043e\u0441\u0442\u0438 \u0441\u0432\u0435\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430 \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0443\u044e \u0432\u043e\u0441\u044c\u043c\u0438\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043a\u0432\u0430\u0436\u043d\u043e\u0441\u0442\u0438 \u0428\u0418\u041c\u0430.<br \/>  \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0432\u043e\u0442 \u0447\u0442\u043e:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>uint8_t LED_GetState(){ \treturn led_state; } void LED_Duty(uint8_t duty){ \tduty_cycle = duty; \tif(led_state == LEDSTATE_BLINK) \t\tLED_OnBlink(); } void LED_DutyPlus(){ \tif(duty_cycle &lt; 7) duty_cycle++; \tif(led_state == LEDSTATE_BLINK) \t\tLED_OnBlink(); } void LED_DutyMinus(){ \tif(duty_cycle &gt; 0) duty_cycle--; \tif(led_state == LEDSTATE_BLINK) \t\tLED_OnBlink(); } uint8_t LED_GetBlinkState(uint16_t *blink_on, uint16_t *blink_off){ \t*blink_on = led_blink_on; \t*blink_off = led_blink_off; \treturn led_state; } void LED_On(){ \tled_state = LEDSTATE_ON; \tled_blink_on = 0; \tled_blink_off = 0; \tGPIO_ResetBits(GPIOC, GPIO_Pin_12); } void LED_Off(){ \tled_state = LEDSTATE_OFF; \tGPIO_SetBits(GPIOC, GPIO_Pin_12); } void LED_OnBlink(){ \tled_blink_off = 1 &lt;&lt; duty_cycle; \tled_blink_on = 0xff - led_blink_off; \tled_ticks_on = 0; \tled_ticks_off = 0;  \tif(led_blink_off == 0){ \t\tLED_On(); \t\treturn; \t} \tif(led_blink_on == 0) \t{ \t\tLED_Off(); \t\treturn; \t} \tled_state = LEDSTATE_BLINK; } void LED_SysTick_Handler(){ \tif(led_state != LEDSTATE_BLINK) return; \tif(led_ticks_on == 0) \t\tGPIO_SetBits(GPIOC, GPIO_Pin_12); \tif(led_ticks_on &lt;= led_blink_on)\t{ \t\tled_ticks_on++; \t\treturn; \t} \tif (led_ticks_off == 0){ \t\tGPIO_ResetBits(GPIOC, GPIO_Pin_12); \t} \tif(led_ticks_off &lt;= led_blink_off){ \t\tled_ticks_off++; \t\treturn; \t} \tled_ticks_on = 0; \tled_ticks_off = 0; } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041d\u0430 \u00ab\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u043a\u043d\u043e\u043f\u043a\u0443\u00bb \u044f \u043f\u043e\u0432\u0435\u0441\u0438\u043b \u0432\u043d\u0435\u0448\u043d\u0435\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>\t\/\/ Enable the BUTTON Clock \tRCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); \tRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); \t\/\/ Configure Button pin as input \tGPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; \tGPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; \tGPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; \tGPIO_Init(GPIOA, &GPIO_InitStructure); \t\/\/ Connect Button EXTI Line to Button GPIO Pin \tGPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); \t\/\/ Configure Button EXTI line \tEXTI_InitStructure.EXTI_Line = EXTI_Line0; \tEXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; \tEXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; \tEXTI_InitStructure.EXTI_LineCmd = ENABLE; \tEXTI_Init(&EXTI_InitStructure); \t\/\/ Enable and set Button EXTI Interrupt to the lowest priority \tNVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; \tNVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; \tNVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; \tNVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; \tNVIC_Init(&NVIC_InitStructure); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0410 \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u0432 \u0440\u0435\u0436\u0438\u043c \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0441\u0432\u0435\u0447\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0442\u043e\u0442 \u00ab\u043c\u0438\u0433\u0430\u043b\u00bb, \u0438\u043b\u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442 \u2014 \u0432 \u0440\u0435\u0436\u0438\u043c \u00ab\u043c\u0438\u0433\u0430\u043d\u0438\u044f\u00bb, \u0435\u0441\u043b\u0438 \u0442\u043e\u0442 \u0441\u0432\u0435\u0442\u0438\u043b\u0441\u044f:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>void EXTI0_IRQHandler(void){ \tif(EXTI_GetITStatus(EXTI_Line0) != RESET){ \t\tif(LED_GetState() != LEDSTATE_BLINK) \t\t\tLED_OnBlink(); \t\telse \t\t\tLED_On(); \t\tEXTI_ClearITPendingBit(EXTI_Line0); \t} } <\/code><\/pre>\n<\/div>\n<\/div>\n<h3>1-wire<\/h3>\n<p>  \u041a\u043e\u0434 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 1-wire \u044f \u0441\u0442\u0430\u0449\u0438\u043b \u043e\u0442\u043a\u0443\u0434\u0430-\u0442\u043e \u0441 \u0441\u0430\u0439\u0442\u0430 <a href=\"http:\/\/we.easyelectronics.ru\/blog\/STM32\/\">easyelectronics.ru<\/a>. \u0418\u0437\u043c\u0435\u043d\u0438\u043b \u044f \u0435\u0433\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u043c\u043d\u043e\u0433\u043e. \u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e, \u0438\u0437\u043c\u0435\u043d\u0438\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0432\u0438\u0441\u044f\u0449\u0438\u0445 \u043d\u0430 \u0448\u0438\u043d\u0435 (\u043e\u043d\u0430 \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0435 \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430, \u0445\u043e\u0442\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0432\u0440\u043e\u0434\u0435-\u0431\u044b \u0432\u043f\u043e\u043b\u043d\u0435 \u0447\u0435\u0442\u043a\u0430\u044f \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0430\u044f \u0431\u044b\u043b\u0430).<\/p>\n<p>  \u0412 \u0441\u0432\u043e\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u043c\u043d\u043e\u044e \u043f\u0440\u0438\u043c\u0435\u0440\u0435 1-wire \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0447\u0435\u0440\u0435\u0437 USART, \u0430 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\/\u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f DMA. \u041c\u043d\u0435 \u044d\u0442\u0430 \u0438\u0434\u0435\u044f \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c (\u0445\u043e\u0442\u044f \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b 1-wire).<\/p>\n<p>  \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f 1-wire \u0448\u0438\u043d\u044b \u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0438\u043e\u0434\u0430 \u0428\u043e\u0442\u0442\u043a\u0438:<br \/>  <img decoding=\"async\" src=\"http:\/\/we.easyelectronics.ru\/uploads\/images\/00\/04\/62\/2012\/02\/11\/234939.png\"\/><br \/>  \u041e\u0434\u043d\u0430\u043a\u043e, \u0443 \u043c\u0435\u043d\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0434\u0438\u043e\u0434\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e. \u041d\u043e \u044f \u0443\u0433\u043b\u044f\u0434\u0435\u043b, \u0447\u0442\u043e \u043f\u043e\u043c\u0438\u043c\u043e push-pull \u0440\u0435\u0436\u0438\u043c\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0443\u044e \u0437\u0430 USART_TX \u043d\u043e\u0433\u0443 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0441\u0442\u043e\u043a\u043e\u043c \u2014 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0433\u043e \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 1-wire \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b USART3 (\u043f\u043e\u043a\u0430 \u044f \u0431\u0430\u043b\u0443\u044e\u0441\u044c, \u043d\u043e\u0433 \u043c\u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 remap \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043d\u0430\u0434\u043e). \u041d\u0430 \u0441\u0445\u0435\u043c\u0435 \u044f \u0443\u0432\u0438\u0434\u0435\u043b, \u0447\u0442\u043e \u043d\u043e\u0433\u0438 USART3 (PB10 \u0438 PB11) \u0443\u0436\u0435 \u043f\u043e\u0434\u0442\u044f\u043d\u0443\u0442\u044b \u043a \u0437\u0435\u043c\u043b\u0435 \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440\u044b \u043f\u043e 10\u043a\u041e\u043c, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043d\u0435 \u0434\u0430\u0436\u0435 \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440 \u043f\u0440\u0438\u043f\u0430\u0438\u0432\u0430\u0442\u044c \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c: \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0434\u043f\u0430\u044f\u043b \u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043a\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043f\u043b\u0430\u0442\u043a\u0443 \u0441 \u0433\u043d\u0435\u0437\u0434\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u043e\u0431\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0442\u0435\u0440\u043c\u043e\u0434\u0430\u0442\u0447\u0438\u043a\u0438.<\/p>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 onewire.c \u043d\u0435 \u0431\u0443\u0434\u0443: \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u0443\u0436\u0435 \u0434\u043e \u043c\u0435\u043d\u044f \u043d\u0435\u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e, \u0430 \u043a\u043e\u0441\u043d\u0443\u0441\u044c \u043b\u0438\u0448\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440\u0430\u043c\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0442\u0435\u043f\u043b\u044b\u0445 (\u0432\u044b\u0448\u0435 -50\u00b0C) \u0447\u0430\u0441\u0442\u0435\u0439 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u044f \u0440\u0435\u0448\u0438\u043b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438 DS18S20 (\u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u2014 \u043d\u0435 \u0445\u0443\u0436\u0435 0.5\u00b0C). \u041f\u043e\u0434\u043f\u0430\u044f\u043d\u043d\u0443\u044e \u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043a\u0443 \u043f\u0430\u043d\u0435\u043b\u044c\u043a\u0443 \u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u043a \u043d\u0443\u0436\u043d\u044b\u043c \u0432\u044b\u0432\u043e\u0434\u0430\u043c, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a \u041c\u041a\u0448\u043a\u0435 \u043f\u0430\u0440\u0443 \u0442\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440\u043e\u0432.<\/p>\n<p>  \u0412\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e \u044f \u043f\u043e\u043b\u0443\u0447\u0430\u044e \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0442\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440\u0430\u043c\u0438:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">com \/dev\/ttyACM0 C-a exit, C-x modem lines status [STATUS]: RTS CTS DTR  \/\/ \u0436\u043c\u0443 'c' : find devices Found 2 devices  \/\/ \u0436\u043c\u0443 'p' : Print devices device 0: 0x10 0x7c 0xee 0x8f 0x02 0x08 0x00 0x1c device 1: 0x10 0xad 0xbc 0x8f 0x02 0x08 0x00 0xf9  \/\/ \u0436\u043c\u0443 't' : Read T Device 0: 0x3b 0x00 0x4b 0x46 0xff 0xff 0x08 0x10 0x39 Device 1: 0x3a 0x00 0x4b 0x46 0xff 0xff 0x0c 0x10 0x41 <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u043f\u0440\u043e\u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u0441\u0435 \u0442\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440\u044b, \u0447\u0442\u043e\u0431\u044b \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0443 \u043a\u043e\u0433\u043e. \u0410 \u043f\u043e\u0441\u043b\u0435 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0441\u0438\u043b\u044c\u043d\u043e \u043b\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0438\u0445 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f. \u0422\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u2014 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0430\u0439\u0442\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432. \u0412 \u0441\u0435\u0434\u044c\u043c\u043e\u043c \u0431\u0430\u0439\u0442\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u00ab\u043e\u0441\u0442\u0430\u0442\u043e\u043a\u00bb \u043e\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u0432 \u0442\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440 \u0410\u0426\u041f. \u041f\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u0438, \u044d\u0442\u043e\u0442 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0443\u0442\u043e\u0447\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b. \u041e\u0434\u043d\u0430\u043a\u043e, \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0442\u043e\u043b\u043a\u0443 \u043e\u0442 \u043d\u0435\u0433\u043e \u2014 \u043a\u0430\u043a \u043e\u0442 \u043a\u043e\u0437\u043b\u0430 \u043c\u043e\u043b\u043e\u043a\u0430.<\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u0430\u0442\u0447\u0438\u043a \u0441\u0430\u043c \u043d\u0430\u0433\u0440\u0435\u0432\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0447\u0430\u0441\u0442\u043e \u0438\u0445 \u043e\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043e\u0442\u043b\u0438\u0447\u0430\u043b\u0438\u0441\u044c \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043f\u043e\u043b\u0443\u0442\u043e\u0440\u0430 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432! \u042d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0432 \u0432\u0438\u0434\u0443: \u0435\u0441\u043b\u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440 \u043c\u0435\u0436\u0434\u0443 \u0443\u0447\u0430\u0441\u0442\u043a\u0430\u043c\u0438 \u0447\u0435\u0433\u043e-\u0442\u043e \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0435 \u0445\u0443\u0436\u0435 0.5\u00b0C, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0434\u043e \u0432\u0441\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0438 \u043e\u0442\u043a\u0430\u043b\u0438\u0431\u0440\u043e\u0432\u0430\u0442\u044c. \u0418 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0431\u0440\u0430\u0442\u044c \u043f\u043e \u043a\u0430\u043b\u0438\u0431\u0440\u043e\u0432\u043e\u0447\u043d\u044b\u043c \u0444\u043e\u0440\u043c\u0443\u043b\u0430\u043c, \u0430 \u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0443 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432.<\/p>\n<p>  \u0420\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0438\u043d\u043e\u0439 \u0440\u0430\u0437 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 0.5\u00b0C, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u043b\u0443\u0448\u0447\u0435 \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u0430\u0442\u0447\u0438\u043a \u0438\u043c\u0435\u0435\u0442 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 1\u00b0C.<\/p>\n<h3>\u0414\u0430\u0442\u0447\u0438\u043a \u0425\u043e\u043b\u043b\u0430<\/h3>\n<p>  \u0414\u0430\u0442\u0447\u0438\u043a\u0438 \u0425\u043e\u043b\u043b\u0430 \u0443 \u043c\u0435\u043d\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u2014 SS495A. \u0421\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u0434\u0430\u0442\u0447\u0438\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. \u0421\u043a\u0430\u0436\u0443 \u043b\u0438\u0448\u044c, \u0447\u0442\u043e \u0432 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043d\u0430 \u0435\u0433\u043e \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0433\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u043a\u043e\u043b\u043e 2.5\u0412 (\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430 STM32), \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043f\u043e\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u0438 \u0438 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u044b \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u043c\u0430\u0433\u043d\u0438\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 0..5\u0412. \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0442\u043e, \u0447\u0442\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043c\u043e\u0436\u0435\u0442 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0442\u044c \u043f\u044f\u0442\u0438 \u0432\u043e\u043b\u044c\u0442, \u043d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0435, \u0430 \u00ab\u043f\u044f\u0442\u0438\u0432\u043e\u043b\u044c\u0442\u043e\u0432\u044b\u0435\u00bb (\u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u043a\u0430\u043a FR \u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438) \u0432\u0445\u043e\u0434\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430.<\/p>\n<p>  \u0418\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u0443 \u043c\u0435\u043d\u044f \u043c\u0430\u0433\u043d\u0438\u0442\u044b (\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u0430\u0442\u0447\u0438\u043a\u0430) \u043f\u0440\u0438 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0438\u0445 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 1\u043c\u043c \u043e\u0442 \u00ab\u043c\u043e\u0440\u0434\u044b\u00bb \u0434\u0430\u0442\u0447\u0438\u043a\u0430 (\u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430) \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0438 \u043a \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u043d\u0430 \u0435\u0433\u043e \u0432\u044b\u0445\u043e\u0434\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f. \u041f\u0440\u0438\u0447\u0435\u043c \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043d\u0443\u043b\u044f \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e-\u0442\u0430\u043a\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0437\u043e\u043d\u0435 \u043f\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c \u0432 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u043f\u043b\u043e\u0441\u043a\u043e\u0441\u0442\u0438, \u0442.\u0435. \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e\u0439.<\/p>\n<p>  \u0414\u043b\u044f \u043e\u043f\u044b\u0442\u043e\u0432 \u044f \u0440\u0430\u0441\u043f\u0430\u044f\u043b \u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043a\u0435 \u043e\u0434\u0438\u043d \u0434\u0430\u0442\u0447\u0438\u043a. \u041f\u0438\u0442\u0430\u043d\u0438\u0435 \u0435\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u043a 5\u0412, \u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0445\u043e\u0434 \u0432\u044b\u0432\u0435\u043b \u043d\u0430 \u043f\u043e\u0440\u0442 PC10, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0441\u0433\u043e\u0440\u0438\u0442, \u0435\u0441\u043b\u0438 \u043d\u0430 \u043d\u0435\u0433\u043e \u043f\u043e\u0434\u0430\u0442\u044c 5\u0412. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0434\u0435\u0440\u0433\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043f\u043e\u0440\u0442, \u044f \u043f\u043e\u0432\u0435\u0441\u0438\u043b \u043d\u0430 \u043d\u0435\u0433\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 (\u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 \u043a\u043d\u043e\u043f\u043a\u043e\u0439). \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0444\u043b\u0430\u0433, \u0430 \u0443\u0436 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0446\u0438\u043a\u043b\u0435, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e\u0442 \u0444\u043b\u0430\u0433 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d (\u0442.\u0435. \u043c\u0430\u0433\u043d\u0438\u0442 \u043b\u0438\u0431\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f, \u043b\u0438\u0431\u043e \u043f\u043e\u043a\u0438\u043d\u0443\u043b \u00ab\u043f\u043e\u043b\u0435 \u0437\u0440\u0435\u043d\u0438\u044f\u00bb \u0434\u0430\u0442\u0447\u0438\u043a\u0430) \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u043d\u0430 PC10. \u0415\u0441\u043b\u0438 \u0442\u0430\u043c \u043d\u043e\u043b\u044c (\u0435\u0441\u0442\u044c \u041c\u041f), \u043f\u0438\u0448\u0435\u043c \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u00abMagnet\u00bb, \u0438\u043d\u0430\u0447\u0435 \u043f\u0438\u0448\u0435\u043c \u00abclear\u00bb. \u0415\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0435\u0441\u0442\u044c \u0434\u0430\u0442\u0447\u0438\u043a \u0438\u043b\u0438 \u043d\u0435\u0442 \u0435\u0433\u043e, \u043d\u0430\u0436\u0430\u0432 \u00abh\u00bb \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435.<\/p>\n<h3>\u0410\u0426\u041f<\/h3>\n<p>  \u041f\u043e\u043c\u0438\u043c\u043e \u00ab\u0442\u0435\u043f\u043b\u044b\u0445 \u0437\u043e\u043d\u00bb \u043c\u043d\u0435 \u0435\u0449\u0435 \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0432 \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0445 (\u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e 75\u041a \u0441\u0432\u0435\u0440\u0445\u0443). \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043b\u0430\u0442\u0438\u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0440\u043c\u043e\u0441\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u043a \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u043c\u0443 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0443 ADG506A. \u041d\u0443 \u0438, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043c\u043d\u0435 \u0441\u0442\u0430\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043b\u043e\u0445 \u00ab\u0440\u043e\u0434\u043d\u043e\u0439\u00bb \u0410\u0426\u041f \u041c\u041a\u0448\u043a\u0438: \u043d\u0435\u043b\u044c\u0437\u044f \u043b\u0438 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b?<\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b STM32 \u0441 \u0410\u0426\u041f \u043f\u043e\u043b\u043d\u044b\u043c-\u043f\u043e\u043b\u043d\u043e, \u044f \u0432\u0437\u044f\u043b \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 STDPeriphLib. \u0411\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0410\u0426\u041f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0437\u0430\u043d\u043e\u0441\u0438\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 DMA. \u0412\u0440\u0435\u043c\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e \u0432 \u0441\u0430\u043c\u043e\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 (\u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u0447\u043d\u0435\u0435 \u0431\u044b\u043b\u043e), \u0430 \u0441\u0430\u043c \u0432\u0445\u043e\u0434 \u0410\u0426\u041f \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u043f\u043e\u0432\u0435\u0448\u0443 \u043d\u0430 \u043d\u043e\u0433\u0443 PB0 (ADC8):  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>\t\/\/ 0. Configure ADC8 (PB0) as analog input (clocking GPIOB sat on in onewire.c) \tRCC_ADCCLKConfig(RCC_PCLK2_Div4); \tRCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); \tRCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOB, ENABLE); \tGPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; \tGPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; \tGPIO_Init(GPIOB, &GPIO_InitStructure); \t\/\/ 1. DMA for converted value (DMA1 clocking sat on at onewire.c) \t\/\/RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); \tDMA_DeInit(DMA1_Channel1); \tDMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; \tDMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&ADC_value; \tDMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; \tDMA_InitStructure.DMA_BufferSize = 1; \tDMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; \tDMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; \tDMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; \tDMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; \tDMA_InitStructure.DMA_Mode = DMA_Mode_Circular; \tDMA_InitStructure.DMA_Priority = DMA_Priority_High; \tDMA_InitStructure.DMA_M2M = DMA_M2M_Disable; \tDMA_Init(DMA1_Channel1, &DMA_InitStructure); \tDMA_Cmd(DMA1_Channel1, ENABLE); \t\/\/ 2. ADC1 config \tADC_InitStructure.ADC_Mode = ADC_Mode_Independent; \tADC_InitStructure.ADC_ScanConvMode = ENABLE; \tADC_InitStructure.ADC_ContinuousConvMode = ENABLE; \tADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; \tADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; \tADC_InitStructure.ADC_NbrOfChannel = 1; \tADC_Init(ADC1, &ADC_InitStructure); \t\/\/ Connect ADC to ADC8 (PB0), \tADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1, ADC_SampleTime_239Cycles5); \t\/\/ Enable ADC1 DMA \tADC_DMACmd(ADC1, ENABLE); \tADC_Cmd(ADC1, ENABLE); \t\/\/ Calibration of ADC1 \tADC_ResetCalibration(ADC1); \twhile(ADC_GetResetCalibrationStatus(ADC1)); \tADC_StartCalibration(ADC1); \twhile(ADC_GetCalibrationStatus(ADC1)); \tADC_SoftwareStartConvCmd(ADC1, ENABLE); \/\/ turn conversion on <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u044f\u0442\u044c \u0431\u0438\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u0440\u0442\u0430. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0430\u0440\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0431\u0438\u0442, \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u044f\u043b \u043f\u0435\u0440\u0432\u044b\u0435 \u0447\u0435\u0442\u044b\u0440\u0435 \u0431\u0438\u0442\u0430 \u043f\u043e\u0440\u0442\u0430 C \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0434\u0440\u0435\u0441\u0430, \u0430 \u043f\u044f\u0442\u044b\u0439 \u0431\u0438\u0442 \u2014 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043b\u044e\u0447\u0430, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>\tGPIO_InitStructure.GPIO_Pin = 0x1f; \/\/ first 5 bits of PC0 \t\/\/ PC0..PC3 - analog channel address, PC4 - analog enable switch \tGPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; \tGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; \tGPIO_Init(GPIOC, &GPIO_InitStructure); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 \u0437\u0434\u0435\u0441\u044c \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043d\u0435 \u043d\u0430\u0434\u043e, \u0430 \u0432 \u0444\u0430\u0439\u043b\u0435 interrupts.c \u043d\u0430\u0434\u043e \u0434\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u043d\u043e\u0432\u043e\u0433\u043e \u0444\u043b\u0430\u0433\u0430 \u043f\u0440\u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u043e\u043c\u0430\u043d\u0434\u044b &#8216;a&#8217;) \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u0445. \u0412 main() \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u044d\u0442\u043e\u0433\u043e \u0444\u043b\u0430\u0433\u0430:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>inline void prntADC(){ \tuint32_t address; \/\/ addr = 0, EN = 1 \tuint8_t *_2b = (uint8_t *) &ADC_value; \tfor(address = 0x10; address &lt; 0x20; address++){ \t\t\/\/ changhe channel address & turn on switch \t\tGPIOC-&gt;BSRR = address; \t\tDelay(2); \/\/ wait for AD conversion \t\tprnt((uint8_t*)&quot;Temperature &quot;); \t\tprintInt(address&0x0f); prnt((uint8_t*)&quot; = &quot;); \t\tprintInt(_2b[1]); \t\tprintInt(_2b[0]); \t\tnewline(); \t\t\/\/ turn off switch & reset bits \t\tGPIOC-&gt;BRR = (uint32_t)0x1f; \t\tDelay(2); \t} } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u0440\u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 \u0446\u0438\u043a\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0430 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0435, \u0436\u0434\u0435\u043c \u043f\u0430\u0440\u0443 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434, \u0447\u0442\u043e\u0431\u044b \u0410\u0426\u041f \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041f\u043e\u0442\u043e\u043c \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440 \u0438 \u0436\u0434\u0435\u043c (\u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439) \u0435\u0449\u0435 \u043f\u0430\u0440\u0443 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<p>  \u041d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u043a\u0435\u0442\u043a\u0435 \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0440\u0435\u0437\u0438\u0441\u0442\u0438\u0432\u043d\u044b\u0439 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f, \u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0432 \u0432\u0441\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u0432\u0445\u043e\u0434\u044b \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 \u043c\u0435\u043b\u043a\u043e\u043e\u043c\u043d\u044b\u043c\u0438 (200..900 \u041e\u043c) \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440\u0430\u043c\u0438. \u041a S1 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u00ab\u0437\u0435\u043c\u043b\u044e\u00bb, \u0430 \u043a S16 \u2014 +3.3\u0412 \u0441 \u043c\u0430\u043a\u0435\u0442\u043a\u0438 STM32. \u0417\u0430\u043f\u0438\u0442\u0430\u043b \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u044f \u0441\u0442\u0430\u0440\u044b\u043c \u0411\u041f \u043e\u0442 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e HDD (12\u0412).<\/p>\n<p>  \u0412 \u043c\u0430\u043a\u0435\u0442\u043a\u0435 STM32P103 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0410\u0426\u041f \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u043e\u0442 \u043e\u0431\u0449\u0435\u0433\u043e \u043f\u0438\u0442\u0430\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u043d\u0438\u0437\u043a\u043e\u0439: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0432\u0430\u044e\u0442 \u0438\u043d\u043e\u0439 \u0440\u0430\u0437 \u0430\u0436 \u043d\u0430 20 \u0435\u0434\u0438\u043d\u0438\u0446!<\/p>\n<p>  \u0412\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u0438 \u0434\u0432\u0443\u0445 \u043e\u043f\u0440\u043e\u0441\u0430\u0445:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>\/\/ \u043e\u043f\u0440\u043e\u0441 1 Temperature 0x00  = 0x00 0x00 Temperature 0x01  = 0x00 0x84 Temperature 0x02  = 0x00 0xaf Temperature 0x03  = 0x01 0xdb Temperature 0x04  = 0x03 0x10 Temperature 0x05  = 0x03 0xe4 Temperature 0x06  = 0x05 0xca Temperature 0x07  = 0x06 0x9b Temperature 0x08  = 0x07 0x4e Temperature 0x09  = 0x08 0xd6 Temperature 0x0a  = 0x0a 0x04 Temperature 0x0b  = 0x0a 0xb4 Temperature 0x0c  = 0x0b 0xfc Temperature 0x0d  = 0x0d 0xe0 Temperature 0x0e  = 0x0e 0xb7 Temperature 0x0f  = 0x0f 0xff   \/\/ \u043e\u043f\u0440\u043e\u0441 2 Temperature 0x00  = 0x00 0x00 Temperature 0x01  = 0x00 0x7f Temperature 0x02  = 0x00 0xaf Temperature 0x03  = 0x01 0xdf Temperature 0x04  = 0x03 0x0f Temperature 0x05  = 0x03 0xe4 Temperature 0x06  = 0x05 0xcc Temperature 0x07  = 0x06 0x9d Temperature 0x08  = 0x07 0x5a Temperature 0x09  = 0x08 0xd6 Temperature 0x0a  = 0x0a 0x01 Temperature 0x0b  = 0x0a 0xb5 Temperature 0x0c  = 0x0b 0xfc Temperature 0x0d  = 0x0e 0x09 Temperature 0x0e  = 0x0e 0xb0 Temperature 0x0f  = 0x0f 0xec <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u043b\u0438\u0431\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043e\u043f\u043e\u0440\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f (\u0434\u0430 \u0438 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u043c\u0443\u044e \u0446\u0435\u043f\u044c \u043f\u0438\u0442\u0430\u0442\u044c \u043e\u0442\u0442\u0443\u0434\u0430 \u0436\u0435), \u043b\u0438\u0431\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0410\u0426\u041f. \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043d\u0438\u0437\u043a\u043e\u0435 \u0441\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0430\u044f\u0442\u044c \u0435\u0449\u0435 \u0438 \u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u044c.<\/p>\n<h3>\u0428\u0430\u0433\u043e\u0432\u044b\u0439 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044c<\/h3>\n<p>  \u0421 \u0448\u0430\u0433\u043e\u0432\u0438\u043a\u043e\u043c \u044f \u0435\u0449\u0435 \u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b \u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f, \u0442.\u043a. \u043f\u043e\u0434\u043e\u0437\u0440\u0435\u0432\u0430\u044e, \u0447\u0442\u043e \u043f\u0440\u0438 \u043c\u043e\u043d\u0442\u0430\u0436\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043a\u0435 \u0443 \u043c\u0435\u043d\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u00ab\u043d\u0435 \u0432\u0437\u043b\u0435\u0442\u0438\u0442\u00bb. \u041d\u0430\u0434\u043e \u043f\u0430\u044f\u0442\u044c. \u0410 \u043f\u0430\u0439\u043a\u043e\u0439 \u0437\u0430\u0439\u043c\u0443\u0441\u044c, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0433\u043e\u0434\u0443 (\u043d\u0430\u0434\u043e \u0435\u0449\u0435 \u0440\u0430\u0434\u0438\u043e\u0434\u0435\u0442\u0430\u043b\u0435\u0439 \u043f\u0440\u0438\u043a\u0443\u043f\u0438\u0442\u044c). \u041f\u043e\u043a\u0430 \u043b\u0438\u0448\u044c \u0432\u043a\u0440\u0430\u0442\u0446\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0448\u0430\u0433\u043e\u0432\u044b\u043c\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f\u043c\u0438.<\/p>\n<p>  \u0428\u0430\u0433\u043e\u0432\u0438\u043a\u0438 \u0443 \u043c\u0435\u043d\u044f \u0431\u0443\u0434\u0443\u0442 \u2014 VSS42 \u043d\u0430 1.2 \u0430\u043c\u043f\u0435\u0440\u0430. \u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0430\u043a\u0438\u043c\u0438 \u0443\u0434\u043e\u0431\u043d\u0435\u0439 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0428\u0414 \u2014 L6208. \u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043d\u0430 \u044d\u0442\u0443 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u043d\u0430\u0434\u043e \u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f, \u0441\u0438\u0433\u043d\u0430\u043b \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u0430 \u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0435 \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u044b. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441\u0430\u043c \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u0428\u0418\u041c \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u043e\u0431\u043c\u043e\u0442\u043a\u0430\u0445 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f.<\/p>\n<p>  \u0423\u043a\u0430\u0436\u0443 \u043f\u043e\u043a\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435, \u043d\u0430 \u0447\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435:  <\/p>\n<ul>\n<li>\u0420\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \u0428\u0418\u041c\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Sense-\u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440\u0430\u0445 \u0441 \u043e\u043f\u043e\u0440\u043d\u044b\u043c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435\u043c Vref. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u0442\u043e\u043a\u0430 I<sub>max<\/sub> \u0438 \u0441\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440\u043e\u0432 R<sub>Sense<\/sub> \u044d\u0442\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e:<br \/>  <b>U<sub>ref<\/sub> = I<sub>max<\/sub> \u00b7 R<sub>Sense<\/sub><\/b><br \/>  \u0422.\u0435. \u0434\u043b\u044f \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u043e\u043a\u0430 \u0432 1.2\u0410 \u043f\u0440\u0438 R<sub>Sense<\/sub>=0.33\u041e\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c U<sub>ref<\/sub>=0.4 \u0412. \u041d\u0438 \u0432 \u043a\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u043e\u0433\u0438 V<sub>ref<\/sub> \u0432\u0438\u0441\u044f\u0449\u0438\u043c\u0438 \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435 \u0438\u043b\u0438 \u043f\u0440\u0438\u0436\u0430\u0442\u044b\u043c\u0438 \u043a \u0437\u0435\u043c\u043b\u0435!<\/li>\n<li>\u0420\u0435\u0436\u0438\u043c Slow\/Fast decay \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0445 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u0435\u0439, \u0448\u0430\u0433\u043e\u0432\u0438\u043a\u0430\u043c \u0436\u0435 Fast decay \u043d\u0443\u0436\u0435\u043d \u043b\u0438\u0448\u044c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 microstepping. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0438\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0430\u0442\u044c +5\u0412 \u043d\u0430 \u043d\u043e\u0436\u043a\u0443 CONTROL. \u041d\u0430 HALF\/FULL \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0430\u0435\u043c +5\u0412 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0432 \u043f\u043e\u043b\u0443\u0448\u0430\u0433\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u0441 \u043d\u043e\u0433\u043e\u0439 RESET, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0445\u043e\u0442\u0438\u043c \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0444\u0430\u0437 (\u0430 \u0435\u0433\u043e \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0438 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u0435\u0441\u043b\u0438 \u0447\u0435\u0441\u0442\u043d\u043e \u043e\u0442\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0448\u0430\u0433 \u043f\u043e 8 \u0441\u0438\u043d\u0445\u0440\u043e\u0438\u043c\u043f\u0443\u043b\u044c\u0441\u043e\u0432).<\/li>\n<li>\u0412\u0445\u043e\u0434 ENABLE \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0435\u0449\u0435 \u0438 \u0432\u044b\u0445\u043e\u0434\u043e\u043c: \u0435\u0441\u043b\u0438 \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c L6208 \u0441\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u043e\u0441\u0442\u044c (\u043f\u0435\u0440\u0435\u0433\u0440\u0435\u0432, \u0441\u043a\u0430\u0447\u043e\u043a \u0442\u043e\u043a\u0430), \u043e\u043d \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435, \u0430 ENABLE \u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u0442 \u043a \u0437\u0435\u043c\u043b\u0435. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u043d\u0435 \u0441\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u043b\u0438 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0435\u0441\u043b\u0438 \u043d\u043e\u0433\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u043f\u043e\u0440\u0442\u043e\u043c ENABLE, \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u043e\u0440\u043e\u043c.<br \/>  \u041f\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 STM32, \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u0430\u0447\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u043d\u0430 \u0432\u044b\u0445\u043e\u0434 \u043f\u043e\u0440\u0442\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440, \u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u043d\u043e\u0433\u0443 \u043a \u0437\u0435\u043c\u043b\u0435. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434 \u043f\u043e\u0434\u0430\u0442\u044c \u043d\u0443\u043b\u044c, \u0442\u043e \u043d\u043e\u0433\u0430 \u043e\u043f\u044f\u0442\u044c \u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<br \/>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u043e\u0434\u0442\u044f\u043d\u0443\u0432 \u043d\u043e\u0433\u0443 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043a +5\u0412 (\u043d\u043e\u0433\u0443 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c <b>FT<\/b>) \u0447\u0435\u0440\u0435\u0437, \u0441\u043a\u0430\u0436\u0435\u043c, \u043f\u044f\u0442\u0438\u043a\u0438\u043b\u043e\u043e\u043c\u043d\u044b\u0439 \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440, \u0430 \u043c\u0435\u0436\u0434\u0443 \u043d\u0435\u0439 \u0438 ENABLE \u0432\u043e\u0442\u043a\u043d\u0443\u0432, \u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0438\u043b\u043e\u043e\u043c\u043d\u044b\u0439 \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440 (\u0438 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e <i>\u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u0448\u0443\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0433\u0443 ENABLE \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u043e\u043c \u043d\u0430 \u0437\u0435\u043c\u043b\u044e<\/i>, \u0438\u043d\u0430\u0447\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0436\u0435\u0447\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440), \u043c\u043e\u0436\u043d\u043e \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c\/\u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044c, \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u043d\u0435 \u0431\u044b\u043b\u043e \u043b\u0438 \u0430\u0432\u0430\u0440\u0438\u0439 (\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0432\u0435\u0441\u0438\u0442\u044c \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043d\u043e\u0433\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 \u043f\u043e \u0441\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u043c\u0443 \u0444\u0440\u043e\u043d\u0442\u0443).<\/li>\n<li>\u041f\u0440\u043e\u0432\u043e\u0434\u043d\u0438\u043a\u0438, \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0435 \u0432 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0436\u0438\u0440\u043d\u044b\u043c, \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u0440\u043e\u0447\u0435 \u0438 \u0448\u0438\u0440\u0435. \u041d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0430\u0434\u043e \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0438 \u0437\u0430 \u0442\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u0437\u0438\u0442\u043d\u044b\u0435 \u0435\u043c\u043a\u043e\u0441\u0442\u0438 \u0438 \u0438\u043d\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438.<br \/>  R<sub>Sense<\/sub> \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043b\u0438\u0436\u0435 \u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443. \u041d\u0435\u0434\u0430\u043b\u0435\u043a\u043e \u043e\u0442 \u043d\u0438\u0445 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0438 \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u044b C\u2081 \u0438 C\u2082 (\u043f\u043e \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438): \u0447\u0435\u0440\u0435\u0437 \u044d\u0442\u0443 \u0446\u0435\u043f\u044c \u0442\u0435\u0447\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u043a \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u043d\u043e \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u0442\u043e\u043a \u0438\u043d\u0434\u0443\u043a\u0446\u0438\u0438 (\u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u043a\u0441\u0442\u0430\u0442\u0438, <b>\u0434\u0438\u043e\u0434\u044b \u0432 \u044d\u0442\u0443 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f<\/b>).<br \/>  \u0421\u0438\u0433\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0437\u0435\u043c\u043b\u044e \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u0441 \u0441\u0438\u043b\u043e\u0432\u043e\u0439 \u0437\u0435\u043c\u043b\u0435\u0439 \u0442\u043e\u043b\u044c\u043a\u043e <b>\u0434\u0430\u043b\u0435\u0435<\/b> \u0442\u043e\u0447\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f C\u2081 \u043a \u0437\u0435\u043c\u043b\u0435, \u0438\u043d\u0430\u0447\u0435 \u0442\u043e\u043a \u0438\u043d\u0434\u0443\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043f\u043e\u0440\u0442\u0438\u0442\u044c \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u043d\u0438\u043a\u0430\u0445 \u043f\u0435\u0447\u0430\u0442\u043a\u0438 (\u0434\u043e \u043c\u0435\u043d\u044f, \u043f\u0440\u0430\u0432\u0434\u0430, \u043d\u0435 \u0434\u043e\u0448\u043b\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u0440\u0438\u0441\u043b\u0443\u0448\u0430\u0442\u044c\u0441\u044f \u043a \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438).<\/li>\n<li>\u0415\u0449\u0435 \u044f \u043f\u0440\u043e\u0447\u0435\u043b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0443\u044e \u0448\u0442\u0443\u043a\u0443: <b>\u0441\u0438\u043b\u043e\u0432\u043e\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0431\u0435\u0437 \u0441\u0438\u0433\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e<\/b>! \u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u0431\u0440\u0430\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 5 \u0412 \u043e\u0442 \u0441\u0438\u043b\u043e\u0432\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0430.<br \/>  \u042f, \u0447\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043d\u044f\u043b: \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e +5 \u0412 \u043f\u043e\u0434\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u043d\u043e\u0433\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430. \u0415\u0441\u043b\u0438 \u043c\u044b \u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u0435\u043c, \u0442\u043e, \u043f\u043e \u0438\u0434\u0435\u0435, \u0443 \u043d\u0435\u0433\u043e \u043d\u0430 \u0432\u0441\u0435\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0432\u0445\u043e\u0434\u0430\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c 0. \u041d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u0438\u043b\u043e\u0432\u043e\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u0442\u0430\u043a\u0438 \u0431\u0443\u0434\u0443 \u043f\u043e\u0441\u043b\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0418 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0418 \u0441\u043b\u0435\u0434\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b USB-\u0448\u043d\u0443\u0440\u043e\u043a, \u043f\u0438\u0442\u0430\u044e\u0449\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043d\u0435 \u0432\u044b\u0441\u043a\u043e\u0447\u0438\u043b&#8230;<\/li>\n<\/ul>\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\/161863\/\"> http:\/\/habrahabr.ru\/post\/161863\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u043e\u0439 \u043f\u043e\u0441\u043b\u0435 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0438\u0441\u043a\u043e\u0432 \u043c\u043d\u043e\u044e \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d ARM-\u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0430 STM32 \u2014 STM32F103 (\u0432 \u00ab\u0441\u0442\u043e\u043d\u043e\u0436\u0435\u0447\u043d\u043e\u043c\u00bb \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438). \u0410 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043c\u0430\u043a\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u2014 STM32F103 (\u0442\u0430\u043c \u043d\u043e\u0436\u0435\u043a \u0445\u043e\u0442\u044c \u0438 \u043c\u0435\u043d\u044c\u0448\u0435, \u043d\u043e \u0441\u0430\u043c\u043e \u044f\u0434\u0440\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435). \u00ab\u0418\u0441\u0442\u043e\u0440\u0438\u0438 \u0443\u0441\u043f\u0435\u0445\u0430\u00bb \u044f \u043f\u043e\u043d\u0435\u043c\u043d\u043e\u0433\u0443 \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b \u0432 \u0441\u0432\u043e\u0435\u0439 \u0416\u0416\u0448\u043a\u0435, \u043d\u043e \u0432\u043e\u0442 \u0440\u0435\u0448\u0438\u043b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0435\u0434\u0438\u043d\u043e \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u043e\u0432\u043e \u0436\u0435 \u043e\u043d\u043e \u2014 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0432 \u043b\u0438\u043d\u0443\u043a\u0441\u0435. \u0421\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442 \u043b\u0435\u0436\u0438\u0442 \u043d\u0430 <a href=\"https:\/\/sourceforge.net\/projects\/ircontroller\/\">sourceforge<\/a>.<\/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-161863","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/161863","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=161863"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/161863\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=161863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=161863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=161863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}