{"id":470647,"date":"2025-08-14T03:01:08","date_gmt":"2025-08-14T03:01:08","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=470647"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=470647","title":{"rendered":"<span>\u041f\u0440\u0438\u0435\u043c \u0438 \u043f\u0430\u0440\u0441\u0438\u043d\u0433 NMEA-\u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d66\/45e\/bd3\/d6645ebd36c6433b544a55ef4ebacb75.jpg\" width=\"870\" height=\"817\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d66\/45e\/bd3\/d6645ebd36c6433b544a55ef4ebacb75.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d66\/45e\/bd3\/d6645ebd36c6433b544a55ef4ebacb75.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 &#8212; \u043e\u0442 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0442\u0440\u0435\u043a\u0435\u0440\u043e\u0432 \u0434\u043e \u0431\u0435\u0441\u043f\u0438\u043b\u043e\u0442\u043d\u044b\u0445 \u043b\u0435\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043e\u0432, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0442\u0430\u043a\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/NMEA_0183\" rel=\"noopener noreferrer nofollow\">NMEA 0183<\/a>, \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0437\u0431\u0435\u0440\u0443, \u043a\u0430\u043a \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 GPS-\u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 STM32 \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u0438\u0434. <\/p>\n<h4>\u0410 \u0442\u0430\u043a\u0436\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u043e\u0432 \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32:<\/h4>\n<ul>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c GPS c UART-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c (TTL-\u0443\u0440\u043e\u0432\u043d\u0438), \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u043d\u0430 \u043f\u0440\u044f\u043c\u0443\u044e \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443;<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c GPS \u0441 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RS-232\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c RS-232<\/a>, \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430 gps, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0440\u043e\u0432\u043d\u0435\u0439 TTL. <\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0438: LS23030 (UART) \u0438 LS23036(RS-232).<\/p>\n<h4>\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f GPS-UART <\/h4>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e48\/e4d\/306\/e48e4d3066d9c85403318688c47a8240.png\" alt=\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f-GPS(UART) \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32F103\" title=\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f-GPS(UART) \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32F103\" width=\"512\" height=\"420\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e48\/e4d\/306\/e48e4d3066d9c85403318688c47a8240.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e48\/e4d\/306\/e48e4d3066d9c85403318688c47a8240.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f-GPS(UART) \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32F103<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u0438\u0433\u043d\u0430\u043b GPS, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a \u0432\u044b\u0432\u043e\u0434\u0443 PA10-31_\u043a\u043e\u043d\u0442\u0430\u043a\u0442 &#8212; RX(\u041c\u041a-STM32F103)<\/p>\n<p>\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u043d\u0438\u0436\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c MP231, \u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a +12\u0412, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043a\u043a\u0443\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 (NiMH\/Pb +12\u0412).  <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d77\/7b3\/151\/d777b3151f98dfd96ef264fb08e0579d.png\" alt=\"\u041f\u043e\u043d\u0438\u0436\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f MP2315 [ +12V \u0434\u043e +5V  ]  \" title=\"\u041f\u043e\u043d\u0438\u0436\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f MP2315 [ +12V \u0434\u043e +5V  ]  \" width=\"979\" height=\"231\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d77\/7b3\/151\/d777b3151f98dfd96ef264fb08e0579d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d77\/7b3\/151\/d777b3151f98dfd96ef264fb08e0579d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u043e\u043d\u0438\u0436\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f MP2315 [ +12V \u0434\u043e +5V  ]  <\/figcaption><\/div>\n<\/figure>\n<p>!!! P.S. \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0448\u0443 \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430 \u043d\u0435\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c, \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444 (\u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0443), \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f &#8230;!!!<\/p>\n<h4>\u0412\u0438\u0434 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f-gps(uart) (\u043b\u0438\u043d\u0438\u044f TX)<\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/894\/62d\/2d4\/89462d2d4430a1b723e404bf75c9c441.png\" alt=\"\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(uart) \" title=\"\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(uart) \" width=\"1097\" height=\"820\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/894\/62d\/2d4\/89462d2d4430a1b723e404bf75c9c441.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/894\/62d\/2d4\/89462d2d4430a1b723e404bf75c9c441.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(uart) <\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f gps(uart) = delta [ 3.4V ], \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32.  <\/p>\n<h4>\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f GPS(RS-232)<\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/696\/580\/ccc\/696580cccb8ae62a1c382b420e44b978.png\" alt=\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f-GPS(RS-232) \u0447\u0435\u0440\u0435\u0437 ADM3202 \u043a \u041c\u041a-STM32F103\" title=\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f-GPS(RS-232) \u0447\u0435\u0440\u0435\u0437 ADM3202 \u043a \u041c\u041a-STM32F103\" width=\"1014\" height=\"482\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/696\/580\/ccc\/696580cccb8ae62a1c382b420e44b978.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/696\/580\/ccc\/696580cccb8ae62a1c382b420e44b978.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f-GPS(RS-232) \u0447\u0435\u0440\u0435\u0437 ADM3202 \u043a \u041c\u041a-STM32F103<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u0438\u0433\u043d\u0430\u043b \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232), \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 13 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f ADM3202, \u0434\u0430\u043b\u0435\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b (TTL) \u0443\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 PA10-31_\u043a\u043e\u043d\u0442\u0430\u043a\u0442 &#8212; RX(\u041c\u041a-STM32F103)<\/p>\n<h4>\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f ADM3202 \u043a \u041c\u041aSTM32  &#8212; \u043c\u0430\u043a\u0435\u0442 <\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c29\/43e\/130\/c2943e1307f7211232c27448b4426e16.jpg\" alt=\"\u041c\u0430\u043a\u0435\u0442 ADM3202 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a STM32F103\" title=\"\u041c\u0430\u043a\u0435\u0442 ADM3202 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a STM32F103\" width=\"1136\" height=\"1260\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c29\/43e\/130\/c2943e1307f7211232c27448b4426e16.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c29\/43e\/130\/c2943e1307f7211232c27448b4426e16.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041c\u0430\u043a\u0435\u0442 ADM3202 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a STM32F103<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043f\u043e +5\u0412, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f MP2315. <\/p>\n<p>\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043f\u043e +3\u0412, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f LP2985.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/528\/2ce\/86b\/5282ce86bfe74f05d6f99608eb49ac1f.png\" alt=\"\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f LP2985 (+5\u0412  +3\u0412)\" title=\"\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f LP2985 (+5\u0412  +3\u0412)\" width=\"920\" height=\"206\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/528\/2ce\/86b\/5282ce86bfe74f05d6f99608eb49ac1f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/528\/2ce\/86b\/5282ce86bfe74f05d6f99608eb49ac1f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f LP2985 (+5\u0412  +3\u0412)<\/figcaption><\/div>\n<\/figure>\n<h4>\u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435 ADM3202<\/h4>\n<p>\u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b STM32, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0443\u0440\u043e\u0432\u043d\u044f\u043c\u0438 TTL\/CMOS &#8212; \u043e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e 3.3\u0412 \u0438\u043b\u0438 5\u0412, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 RS-232, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u0435 \u0438 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f ( \u043e\u0442 \u00b13\u0412 \u0434\u043e \u00b112\u0412), \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u043c\u0438. <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043c\u043e\u0434\u0443\u043b\u044c-GPS (RS-232) \u043a \u0432\u044b\u0432\u043e\u0434\u0430\u043c \u041c\u041a-STM32, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0432\u0440\u0435\u0434\u0438\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b. ADM3202 \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439, \u0432 \u043e\u0431\u043e\u0438\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445. <\/p>\n<p>ADM3202 &#8212; \u044d\u0442\u043e \u0434\u0432\u0443\u0445\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c\u043e\u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a \u0443\u0440\u043e\u0432\u043d\u0435\u0439 RS-232 &#8212; TTL, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u0434\u0432\u0435 \u0437\u0430\u0434\u0430\u0447\u0438: <\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 RS-232 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 TTL-\u0443\u0440\u043e\u0432\u043d\u0438(RX-\u043a\u0430\u043d\u0430\u043b);<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 TTL-\u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432 RS-232(TX-\u043a\u0430\u043d\u0430\u043b). <\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434 RS-232, \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043c\u043f\u043e\u0432\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f(chage pump) \u0441 \u0447\u0435\u0442\u044b\u0440\u044c\u043c\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u0430\u043c\u0438, \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u0438\u0442\u0430\u043d\u0438\u044f (\u043e\u0442 3\u0412 \u0434\u043e 5.5\u0412).<\/p>\n<h4>\u0412\u0438\u0434 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u0434\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202<\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/172\/861\/70d\/17286170d0beb35c629f23a1f6010c4f.png\" alt=\"\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u0434\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202\" title=\"\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u0434\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202\" width=\"590\" height=\"454\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/172\/861\/70d\/17286170d0beb35c629f23a1f6010c4f.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/172\/861\/70d\/17286170d0beb35c629f23a1f6010c4f.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u0434\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f gps(rs-232) \u0434\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f = delta [ 10.6V ], \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32. <\/p>\n<h4>\u0412\u0438\u0434 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u043f\u043e\u0441\u043b\u0435  \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202<\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/91a\/873\/7ee\/91a8737ee68f9e734747bd7912d81d72.png\" alt=\"\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202\" title=\"\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202\" width=\"794\" height=\"562\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/91a\/873\/7ee\/91a8737ee68f9e734747bd7912d81d72.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/91a\/873\/7ee\/91a8737ee68f9e734747bd7912d81d72.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f gps(rs-232) \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f = delta [ 3.6V ], \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32.<\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 STM32F103 \u0432 CubeIDE<\/h3>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Parametr Settings<\/h4>\n<p>\u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 USART (Parametr Settings) \u044f \u0432\u044b\u0431\u0438\u0440\u0430\u044e:<\/p>\n<ul>\n<li>\n<p>Mode: Asynchronous (\u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c);<\/p>\n<\/li>\n<li>\n<p>Baud Rate: 9600 \u0431\u0438\u0442\/\u0441 (\u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0434\u0432\u0430 \u043c\u043e\u0434\u0443\u043b\u044f-gps (rs-232 \u0438 uart) \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 9600).<\/p>\n<\/li>\n<\/ul>\n<p>\u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/58b\/55b\/d3c\/58b55bd3c1053a22ad72b542830265df.png\" alt=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &quot;Parameter settings&quot;\" title=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &quot;Parameter settings&quot;\" width=\"1143\" height=\"703\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/58b\/55b\/d3c\/58b55bd3c1053a22ad72b542830265df.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/58b\/55b\/d3c\/58b55bd3c1053a22ad72b542830265df.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &#171;Parameter settings&#187;<\/figcaption><\/div>\n<\/figure>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f NVIC Settings<\/h4>\n<p>\u0417\u0430\u0445\u043e\u0436\u0443 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 (NVIC Settings) \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u044e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435<\/p>\n<blockquote>\n<p>\u0414\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 USART \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0435\u043c\u0430 \u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0438), \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 NVIC Settings \u0431\u044b\u043b\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 USART, \u044d\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 \u0431\u0435\u0437 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u043e\u0441\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432.  <\/p>\n<\/blockquote>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/679\/5fb\/c48\/6795fbc48cf0dbb7bf66b98d49954cc7.png\" alt=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &quot;NVIC Settings&quot;\" title=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &quot;NVIC Settings&quot;\" width=\"1277\" height=\"491\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/679\/5fb\/c48\/6795fbc48cf0dbb7bf66b98d49954cc7.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/679\/5fb\/c48\/6795fbc48cf0dbb7bf66b98d49954cc7.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &#171;NVIC Settings&#187;<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 GPS-\u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 NMEA-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0437 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (1Hz), \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c DMA  \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Circular \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c.<\/p>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f DMA Settings<\/h4>\n<p>\u0417\u0430\u0445\u043e\u0436\u0443 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 DMA Settings\u00a0\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<\/p>\n<ol>\n<li>\n<p>\u0412\u044b\u0431\u043e\u0440 \u043f\u043e\u0442\u043e\u043a\u0430\/\u043a\u0430\u043d\u0430\u043b\u0430: USART1_RX (\u043f\u0440\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445);<\/p>\n<\/li>\n<li>\n<p>Mode: Circular ;<\/p>\n<\/li>\n<li>\n<p>Increment Memory Address: Enabled (\u0430\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u043f\u0430\u043c\u044f\u0442\u0438);<\/p>\n<\/li>\n<li>\n<p>Data Width: Byte (8 \u0431\u0438\u0442, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0444\u043e\u0440\u043c\u0430\u0442\u0443 NMEA).<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c7c\/3fc\/bf1\/c7c3fcbf1e36049f77051bfae6c7b713.png\" alt=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &quot;DMA Settings&quot;\" title=\"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &quot;DMA Settings&quot;\" width=\"1273\" height=\"699\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c7c\/3fc\/bf1\/c7c3fcbf1e36049f77051bfae6c7b713.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c7c\/3fc\/bf1\/c7c3fcbf1e36049f77051bfae6c7b713.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &#171;DMA Settings&#187;<\/figcaption><\/div>\n<\/figure>\n<h4>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430(\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438 \u043f\u0440\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445)<\/h4>\n<h4>\u041a\u043e\u0440\u043e\u0442\u043a\u043e \u043e NMEA 0183<\/h4>\n<p> \u042d\u0442\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u043c\u043e\u0440\u0441\u043a\u0438\u043c \u0438 \u0430\u0432\u0438\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u0432\u043a\u043b\u044e\u0447\u0430\u044f GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0438. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 GPS-\u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u044b\u0432\u043e\u0434\u044f\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.<\/p>\n<h4>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438:<\/h4>\n<ul>\n<li>\n<p>\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442\u00a0\u2013 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 ASCII-\u0441\u0442\u0440\u043e\u043a;<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439\u00a0\u2013 \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u00a0<code>$<\/code>, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u043e\u0439;<\/p>\n<\/li>\n<li>\n<p>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438\u00a0\u2013 \u043e\u0431\u044b\u0447\u043d\u043e\u00a09600 \u0431\u043e\u0434\u00a0(\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438 \u0432\u044b\u0448\u0435 \u0434\u043b\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0447\u0430\u0441\u0442\u043e\u0442\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439);<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u00a0\u2013 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e\u00a01 \u0440\u0430\u0437 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\u00a0(1Hz), \u043d\u043e \u0431\u044b\u0432\u0430\u044e\u0442 5Hz, 10Hz \u0438 \u0431\u043e\u043b\u0435\u0435.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 (GGA \u2013 Global Positioning System Fix Data):  <\/h4>\n<p><img decoding=\"async\" class=\"formula\" source=\"GGA,112530.000,6012.3456,N,03015.6789,E,1,10,0.95,45.3,M,12.5,M,,*65\" alt=\"GGA,112530.000,6012.3456,N,03015.6789,E,1,10,0.95,45.3,M,12.5,M,,*65\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cd0\/b77\/1c6\/cd0b771c656b3320f30505c9f4d395ef.svg\" width=\"665\" height=\"20\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cd0\/b77\/1c6\/cd0b771c656b3320f30505c9f4d395ef.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/cd0\/b77\/1c6\/cd0b771c656b3320f30505c9f4d395ef.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">\u2116<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">UTC-\u0432\u0440\u0435\u043c\u044f    <\/p>\n<\/td>\n<td>\n<p align=\"left\">112530.000    <\/p>\n<\/td>\n<td>\n<p align=\"left\">11:25:30 UTC    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">2<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0428\u0438\u0440\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">6012.3456    <\/p>\n<\/td>\n<td>\n<p align=\"left\">60\u00b0 12.3456\u2032    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0443\u0448\u0430\u0440\u0438\u0435 \u0448\u0438\u0440\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">N\/S    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0435\u0432\u0435\u0440\/\u042e\u0413<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0414\u043e\u043b\u0433\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">03015.6789    <\/p>\n<\/td>\n<td>\n<p align=\"left\">30\u00b0 15.6789\u2032    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">5<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0443\u0448\u0430\u0440\u0438\u0435 \u0434\u043e\u043b\u0433\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">E\/W<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u043e\u0441\u0442\u043e\u043a\/\u0417\u0430\u043f\u0430\u0434<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">6<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">Fix Quality    <\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">GPS \u0444\u0438\u043a\u0441 (\u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439)    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">7<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0421\u043f\u0443\u0442\u043d\u0438\u043a\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">10    <\/p>\n<\/td>\n<td>\n<p align=\"left\">10 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">8<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">HDOP    <\/p>\n<\/td>\n<td>\n<p align=\"left\">0.95    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">9<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0412\u044b\u0441\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">45.3    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u0442\u0430 \u043d\u0430\u0434 \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u043c\u043e\u0440\u044f    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">10<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0415\u0434. \u0432\u044b\u0441\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">M    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u0440\u044b    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">11<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0413\u0435\u043e\u0438\u0434. \u0432\u044b\u0441\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">12.5    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u0442\u0430 \u0433\u0435\u043e\u0438\u0434\u0430    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">12<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0415\u0434. \u0433\u0435\u043e\u0438\u0434\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">M    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u0440\u044b    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">13<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0414\u0438\u0444\u0444. \u043a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0443\u0441\u0442\u043e    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">14<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">CRC    <\/p>\n<\/td>\n<td>\n<p align=\"left\">*65    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430    <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 GGA<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412\u0440\u0435\u043c\u044f:      11:25:30<\/p>\n<\/li>\n<li>\n<p>\u0428\u0438\u0440\u043e\u0442\u0430:      60.20576\u00b0 N<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043b\u0433\u043e\u0442\u0430:      30.261315\u00b0 E<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e      \u0444\u0438\u043a\u0441\u0430: 1<\/p>\n<\/li>\n<li>\n<p>\u0421\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432:      10<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0441\u043e\u0442\u0430:      45.3 \u043c<\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 (RMC \u2013 Recommended Minimum Navigation Information):  <\/h4>\n<p><img decoding=\"async\" class=\"formula\" source=\"RMC,112530.000,A,6012.3456,N,03015.6789,E,5.12,87.45,110825,,,A*6C\" alt=\"RMC,112530.000,A,6012.3456,N,03015.6789,E,5.12,87.45,110825,,,A*6C\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/79\/797\/797bcfc89c0cc8e74cf41d4ebbbea5d0.svg\" width=\"616\" height=\"16\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/79\/797\/797bcfc89c0cc8e74cf41d4ebbbea5d0.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/79\/797\/797bcfc89c0cc8e74cf41d4ebbbea5d0.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">\u2116<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">UTC-\u0432\u0440\u0435\u043c\u044f    <\/p>\n<\/td>\n<td>\n<p align=\"left\">112530.000    <\/p>\n<\/td>\n<td>\n<p align=\"left\">11:25:30 UTC    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">2<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0421\u0442\u0430\u0442\u0443\u0441    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0428\u0438\u0440\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">6012.3456    <\/p>\n<\/td>\n<td>\n<p align=\"left\">60\u00b0 12.3456\u2032    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0443\u0448\u0430\u0440\u0438\u0435 \u0448\u0438\u0440\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">N\/S    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0435\u0432\u0435\u0440\/\u042e\u0413<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">5<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0414\u043e\u043b\u0433\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">03015.6789    <\/p>\n<\/td>\n<td>\n<p align=\"left\">30\u00b0 15.6789\u2032    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">6<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0443\u0448\u0430\u0440\u0438\u0435 \u0434\u043e\u043b\u0433\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">E\/W<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u043e\u0441\u0442\u043e\u043a\/\u0417\u0430\u043f\u0430\u0434<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">7<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c     <\/p>\n<\/td>\n<td>\n<p align=\"left\">5.12    <\/p>\n<\/td>\n<td>\n<p align=\"left\">5.12 \u0443\u0437\u043b\u0430      <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">8<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041a\u0443\u0440\u0441    <\/p>\n<\/td>\n<td>\n<p align=\"left\">87.45        <\/p>\n<\/td>\n<td>\n<p align=\"left\">87.45\u00b0      <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">9<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0414\u0430\u0442\u0430        <\/p>\n<\/td>\n<td>\n<p align=\"left\">110825    <\/p>\n<\/td>\n<td>\n<p align=\"left\">11 \u0430\u0432\u0433\u0443\u0441\u0442\u0430 2025    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">10<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041c\u0430\u0433. \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435   <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0443\u0441\u0442\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">&#8212;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">11<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0415\u0434. \u043c\u0430\u0433. \u043e\u0442\u043a\u043b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0443\u0441\u0442\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">&#8212;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">12<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0420\u0435\u0436\u0438\u043c    <\/p>\n<\/td>\n<td>\n<p align=\"left\">A <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 GPS    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">13<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">CRC    <\/p>\n<\/td>\n<td>\n<p align=\"left\">*6C    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430    <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 RMC<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412\u0440\u0435\u043c\u044f:      11:25:30<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u0442\u0443\u0441:      \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435<\/p>\n<\/li>\n<li>\n<p>\u0428\u0438\u0440\u043e\u0442\u0430:      60.20576\u00b0 N<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043b\u0433\u043e\u0442\u0430:      30.261315\u00b0 E<\/p>\n<\/li>\n<li>\n<p>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c:      5.12 \u0443\u0437\u043b\u0430 (~9.48 \u043a\u043c\/\u0447)<\/p>\n<\/li>\n<li>\n<p>\u041a\u0443\u0440\u0441:      87.45\u00b0<\/p>\n<\/li>\n<li>\n<p>\u0414\u0430\u0442\u0430:      11.08.2025<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u044e \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0441\u0441\u044b\u043b\u043a\u0443, \u0433\u0434\u0435 \u0432 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 NMEA0183 [<a href=\"https:\/\/wiki.iarduino.ru\/page\/NMEA-0183\/\" rel=\"noopener noreferrer nofollow\">https:\/\/wiki.iarduino.ru\/page\/NMEA-0183\/<\/a>].<\/p>\n<h4>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 [ NMEA.h ]<\/h4>\n<p>\u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u0438\u0437 gps-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430, \u0437\u0434\u0435\u0441\u044c \u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e \u043d\u0430\u0431\u043e\u0440 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0441\u0432\u043e\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u043b\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<pre><code class=\"objectivec\">#ifndef INC_PROJECT_GNSS_NMEA_H_ #define INC_PROJECT_GNSS_NMEA_H_  \/\/ \u0412\u0440\u0435\u043c\u044f \u0432 \u0447\u0430\u0441\u0430\u0445, \u043c\u0438\u043d\u0443\u0442\u0430\u0445, \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 typedef struct { int hour; int min; int sec; int msec; }TIME;  typedef struct{ int calculation; }COORDINATE_CALC;  \/\/ \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b + \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 (NS\/EW) typedef struct { float latitude; char NS; float longitude; char EW; float altitude; char unit; }LOCATION;  \/\/\u0412\u044b\u0441\u043e\u0442\u0430 \u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f typedef struct { float altitude; char unit; }ALTITUDE;  \/\/\u0414\u0430\u0442\u0430 typedef struct { int Day; int Mon; int Yr; }DATE;  \/\/\u041d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 GGA typedef struct { LOCATION lcation; TIME tim; int isfixValid; ALTITUDE alt; int numofsat; COORDINATE_CALC calc; }GGASTRUCT;  \/\/\u041d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 RMC typedef struct { DATE date; float speed; float course; int isValid; }RMCSTRUCT;  \/\/\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 GGA \u0438 RMC typedef struct { GGASTRUCT ggastruct; RMCSTRUCT rmcstruct; }GPSSTRUCT;  int decodeGGA (char *GGAbuffer, GGASTRUCT *gga);  int decodeRMC (char *RMCbuffer, RMCSTRUCT *rmc);  #endif \/* INC_PROJECT_GNSS_NMEA_H_ *\/<\/code><\/pre>\n<h4>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 NMEA.c<\/h4>\n<p><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u044f decodeGGA() <\/strong><\/p>\n<p>\u041f\u0430\u0440\u0441\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 $GPGGA \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 GGASTRUCT \u0434\u0430\u043d\u043d\u044b\u043c\u0438: \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u0432\u044b\u0441\u043e\u0442\u0430, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432, \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438. <\/p>\n<p><strong>\u0428\u0430\u0433\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u043f\u043e\u0438\u0441\u043a\u0443 \u043d\u0443\u0436\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 <\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f inx &#8212; \u044d\u0442\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 GGAbuffer;<\/p>\n<\/li>\n<li>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0443 \u043f\u0440\u043e\u043f\u0443\u0441\u043a \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 (\u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439  ,)<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f  <\/p>\n<ul>\n<li>\n<p>\u0412 NMEA \u043f\u043e\u043b\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 (Fix Quality) \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>0 &#8212; \u043d\u0435\u0442 \u0444\u0438\u043a\u0441\u0430, 1 &#8212; GPS Fix, 2-DGPS Fix, 4\/5\/6 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u0437 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0445 \u0446\u0438\u0444\u0440, \u0442\u043e \u0432  gga-&gt;isfixValid \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 1, \u0438\u043d\u0430\u0447\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 <\/p>\n<ul>\n<li>\n<p>\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 HHMMSS (UTC);<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u0430;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044e GMT, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u0435\u043d\u044c (daychange++ \u0438\u043b\u0438 daycahnge&#8212;).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0448\u0438\u0440\u043e\u0442\u044b (Latitude)<\/p>\n<ul>\n<li>\n<p>\u0424\u043e\u0440\u043c\u0430\u0442 \u0432 NMEA: DDMM.MMM;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0432\u044b\u0435 \u0446\u0438\u0444\u0440\u044b &#8212; \u0433\u0440\u0430\u0434\u0443\u0441\u044b, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 &#8212; \u043c\u0438\u043d\u0443\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0434 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u043c\u0438\u043d\u0443\u0442\u044b, \u0434\u0435\u043b\u0438\u0442 \u0438\u0445 \u043d\u0430 60 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u0433\u0440\u0430\u0434\u0443\u0441\u0430\u043c;<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 NS == &#8216;S&#8217;, \u0448\u0438\u0440\u043e\u0442\u0430 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439. <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0433\u043e\u0442\u044b (Longitude)<\/p>\n<ul>\n<li>\n<p>\u0424\u043e\u0440\u043c\u0430\u0442 \u0432 NMEA: DDMM.MMM;<\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0448\u0438\u0440\u043e\u0442\u0435, \u043d\u043e \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0446\u0438\u0444\u0440\u044b &#8212; \u0433\u0440\u0430\u0434\u0443\u0441\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 EW == &#8216;W&#8217;, \u0434\u043e\u043b\u0433\u043e\u0442\u0430 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 <\/p>\n<ul>\n<li>\n<p>\u0418\u0437 \u043f\u043e\u043b\u044f \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u043b\u0433\u043e\u0442\u044b \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u043e (gga-&gt;calc.calculation), \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u043c\u0435\u0442\u043e\u0434 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432<\/p>\n<ul>\n<li>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u043f\u043e\u043b\u0435  &#8212; \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u0438\u043c\u044b\u0445 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432 (gga-&gt;numofsat).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u043f\u0443\u0441\u043a HDOP <\/p>\n<ul>\n<li>\n<p>HDOP (Horizontal Dilution of Precision) \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0432\u044b\u0441\u043e\u0442\u044b<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u043b\u0435 \u0441 \u0432\u044b\u0441\u043e\u0442\u043e\u0439 (gga-&gt;alt.altitude) \u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u043c\u0438 (gga-&gt;alt.unit, \u043e\u0431\u044b\u0447\u043d\u043e &#8216;M&#8217; &#8212; \u043c\u0435\u0442\u0440\u044b).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 <\/p>\n<ul>\n<li>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f 0 \u043f\u0440\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u0440\u0430\u0437\u0431\u043e\u0440\u0435.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u044f decodeRMC()<\/strong><\/p>\n<p><strong> <\/strong>\u041f\u0430\u0440\u0441\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 $GPRMC \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 RMCSTRUCT \u0438 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442: \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u043a\u0443\u0440\u0441 \u0438 \u0434\u0430\u0442\u0443. <\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u043f\u0443\u0441\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438 <\/p>\n<ul>\n<li>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0435\u0442 \u043f\u043e\u043b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u043d\u043e \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0441\u0442\u0438 <\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0434\u0435\u0442 \u0410(Active) &#8212; \u0434\u0430\u043d\u043d\u044b\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b; <\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 V(Void) \u043d\u0435\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u043f\u0443\u0441\u043a \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 <\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u043b\u044f \u0448\u0438\u0440\u043e\u0442\u044b, \u0434\u043e\u043b\u0433\u043e\u0442\u044b \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f (NS\/EW).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 <\/p>\n<ul>\n<li>\n<p>\u0412 NMEA \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0443\u0437\u043b\u0430\u0445; <\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0434 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0447\u0438\u0441\u043b\u043e \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432 rmc-&gt;speed. <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u0430 <\/p>\n<ul>\n<li>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u043f\u043e\u043b\u0435 &#8212; \u043a\u0443\u0440\u0441 (\u0443\u0433\u043e\u043b \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0432 \u0433\u0440\u0430\u0434\u0443\u0441\u0430\u0445 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0435\u0432\u0435\u0440\u0430).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u044b<\/p>\n<ul>\n<li>\n<p>\u0424\u043e\u0440\u043c\u0430\u0442: DDMMYY;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0434 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u0434\u0435\u043d\u044c, \u043c\u0435\u0441\u044f\u0446, \u0433\u043e\u0434, \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442 \u0434\u0435\u043d\u044c \u0441 \u0443\u0447\u0435\u0442\u043e\u043c daychange (\u0438\u0437 GGA), \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432 rmc-&gt;date. <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><code class=\"objectivec\">uint8_t GMT = 0;  \/\/RU uint8_t inx = 0; uint8_t hr=0,min=0,day=0,mon=0,yr=0; uint8_t daychange = 0;  \/*\u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u044d\u0442\u043e \u0431\u0443\u0444\u0435\u0440 GGA, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 GGA,  * \u0412\u0442\u043e\u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u044d\u0442\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 GGA*\/ int decodeGGA (char *GGAbuffer, GGASTRUCT *gga) { inx = 0; char buffer[12]; int i = 0; while (GGAbuffer[inx] != ',') inx++;  \/\/ 1st ',' inx++; while (GGAbuffer[inx] != ',') inx++;  \/\/ After time ',' inx++; while (GGAbuffer[inx] != ',') inx++;  \/\/ after latitude ',' inx++; while (GGAbuffer[inx] != ',') inx++;  \/\/ after NS ',' inx++; while (GGAbuffer[inx] != ',') inx++;  \/\/ after longitude ',' inx++; while (GGAbuffer[inx] != ',') inx++;  \/\/ after EW ',' inx++; \/\/while (GGAbuffer[inx] != ',') inx++;  \/\/ \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u0438\u043f\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 ',' \/\/inx++; \/\/ \u0434\u043e\u0441\u0438\u0442\u0438\u0433 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\/ \u0437\u043d\u0430\u043a\u0430 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \/\/\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \/*\u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0447\u0438\u0441\u0435\u043b, \u0435\u0441\u043b\u0438 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u0447\u0438\u0441\u043b\u043e \u0440\u0430\u0432\u043d\u043e 1 , 2 \u0438\u043b\u0438 6  * \u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438*\/ if ((GGAbuffer[inx] == '1') || (GGAbuffer[inx] == '2') || (GGAbuffer[inx] == '4') || (GGAbuffer[inx] == '5') || (GGAbuffer[inx] == '6'))   \/\/ 0 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f { gga-&gt;isfixValid = 1;   \/\/\u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b inx = 0;   \/\/\u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e \u0438\u043d\u0434\u0435\u043a\u0441, \u0434\u0430\u043b\u0435\u0435 \u043d\u0430\u0447\u043d\u0443 \u0441 inx = 0 \u0438 \u0431\u0443\u0434\u0443 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e } else { gga-&gt;isfixValid = 0;   \/\/ \u0435\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b return 1;  \/\/ return error } while (GGAbuffer[inx] != ',') inx++;  \/\/ 1st ','  \/*********************** Get TIME ***************************\/ \/\/(Update the GMT Offset at the top of this file)   \/*\u0417\u0434\u0435\u0441\u044c \u044f \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043e\u043f\u0438\u0440\u0443\u044e \u0432\u0440\u0435\u043c\u044f \u0432 \u0431\u0443\u0444\u0435\u0440    * \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0431\u0443\u0444\u0435\u0440\u0435 \u043f\u043e \u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0438\u043c\u0435\u044e\u0442 \u0441\u0438\u043c\u0444\u043e\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u043c\u043d\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c    * \u043d\u0430 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044f \u044d\u0442\u043e \u043c\u043e\u0433\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e atoi \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0441\u043f. \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0447\u0438\u0441\u043b\u043e*\/ inx++;   \/\/ \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430, \u0432\u043e\u0432\u0440\u0435\u043c\u044f memset(buffer, '\\0', 12); i=0; while (GGAbuffer[inx] != ',')  \/\/ \u043a\u043e\u043f\u0438\u0440\u0443\u044e \u0432\u0440\u0435\u043c\u044f \u0434\u043e \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u043f\u043e\u0439\u043c\u0430\u044e ',' { buffer[i] = GGAbuffer[inx]; i++; \/\/    if(i&gt;sizeof(buffer)){ \/\/return 0; \/\/  } inx++; }  hr = (atoi(buffer)\/10000) + GMT\/100;   \/\/ \u043f\u043e\u043b\u0443\u0447\u0430\u044e \u0447\u0430\u0441\u044b \u0438\u0437 6-\u0442\u0438 \u0437\u043d\u0430\u0447\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430  min = ((atoi(buffer)\/100)%100) + GMT%100;  \/\/\u0434\u0430\u043d\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u043c GMT if (min &gt; 59) { min = min-60; hr++; } if (hr&lt;0) { hr=24+hr; daychange--; } if (hr&gt;=24) { hr=hr-24; daychange++; }  \/\/\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u044e \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 tim, \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b GGA gga-&gt;tim.hour = hr; gga-&gt;tim.min = min; gga-&gt;tim.sec = atoi(buffer)%100; \/\/gga-&gt;tim.msec =  (hr+min+atoi(buffer)%100)*1000;  \/***************** Get LATITUDE  **********************\/ inx++;   \/\/\u0414\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432 \u0448\u0438\u0440\u043e\u0442\u0435 memset(buffer, '\\0', 12); i=0; while (GGAbuffer[inx] != ',')   \/\/ \u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0448\u0438\u0440\u043e\u0442\u044b ',' { buffer[i] = GGAbuffer[inx]; i++; \/\/if(i&gt;sizeof(buffer)){ \/\/return 0; \/\/} inx++; } if (strlen(buffer) &lt; 6) return 2;  \/\/\u0415\u0441\u043b\u0438 \u0434\u043b\u0438\u043d\u0430 \u0431\u0443\u0444\u0435\u0440\u0430 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442, \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443 \/\/int16_t num;\/\/ = (atoi(buffer));   \/\/ \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0431\u0443\u0444\u0435\u0440 \u043d\u0430 \u0447\u0438\u0441\u043b\u043e, \u043e\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0434\u0440\u043e\u0431\u0438 int j = 0; float grad; while (buffer[j] != '.') j++;   \/\/ \u0412\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0446\u0438\u0444\u0440 \u043f\u0435\u0440\u0435\u0434 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 j-=2;\/\/++; grad=atof (&amp;buffer[j])\/60.0f; buffer[j]='#'; grad += (atof(buffer));  \/\/int declen = (strlen(buffer))-j; \/\/int dec = atoi ((char *) buffer+j); \/\/float lat = (num\/100.0) + (dec\/pow(10, (declen+2))); gga-&gt;lcation.latitude = grad;\/\/lat; inx++; gga-&gt;lcation.NS = GGAbuffer[inx]; if(gga-&gt;lcation.NS=='S'){ gga-&gt;lcation.latitude=-gga-&gt;lcation.latitude; }  \/***********************  GET LONGITUDE **********************\/ inx++;  \/\/ ',' \u041f\u043e\u0441\u043b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 NS inx++;  \/\/ \u0414\u043e\u0439\u0442\u0438 \u0434\u043e \u043f\u0435\u0440\u0432\u043e\u0439 \u0446\u0438\u0444\u0440\u044b \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \u0434\u043e\u043b\u0433\u043e\u0442\u044b memset(buffer, '\\0', 12); i=0; while (GGAbuffer[inx] != ',')  \/\/ \u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0432\u044b\u0441\u043e\u0442\u044b ',' { buffer[i] = GGAbuffer[inx]; i++; \/\/if(i&gt;sizeof(buffer)){ \/\/return 0; \/\/} inx++; } \/\/num = (atoi(buffer)); j = 0; while (buffer[j] != '.') { j++; \/\/if (j&gt;sizeof(buffer)){ \/\/return 0; \/\/} } j-=2;\/\/++; grad=atof (&amp;buffer[j])\/60.0f; buffer[j]='#'; grad += (atof(buffer)); \/\/declen = (strlen(buffer))-j; \/\/dec = atoi ((char *) buffer+j); \/\/lat = (num\/100.0) + (dec\/pow(10, (declen+2))); gga-&gt;lcation.longitude = grad;\/\/lat; inx++; gga-&gt;lcation.EW = GGAbuffer[inx]; if(gga-&gt;lcation.EW=='W'){ gga-&gt;lcation.longitude=-gga-&gt;lcation.longitude; }  \/**************************************************\/ \/\/\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 inx++;   \/\/ ',' after E\/W  \/*************** \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u0438\u043f\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 ********************\/ inx++;   \/\/ position fix memset(buffer, '\\0', 12); i=0; while (GGAbuffer[inx] != ',') { buffer[i] = GGAbuffer[inx]; i++; \/\/if(i&gt;sizeof(buffer)){ \/\/   return 0; \/\/} inx++; }  gga-&gt;calc.calculation = atoi(buffer); \/\/int declen_1 = (strlen(buffer)); \/\/int dec_1 = atoi ((char *) buffer); \/\/int calc = (num_1) + (dec_1\/pow(10, (declen_1))); \/\/    gga-&gt;calc.calculation = calc; inx++;   \/\/ ',' \u043f\u043e\u0441\u043b\u0435 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u0438; \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0432\u0442\u043e \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432 memset(buffer, '\\0', 12); i=0; while (GGAbuffer[inx] != ',') { buffer[i] = GGAbuffer[inx]; i++; \/\/if(i&gt;sizeof(buffer)){ \/\/  return 0; \/\/} inx++; } gga-&gt;numofsat = atoi(buffer); inx++;  \/***************** skip HDOP  *********************\/ while (GGAbuffer[inx] != ',') inx++;   \/*************** Altitude calculation ********************\/ inx++; memset(buffer, '\\0', 12); i=0; while (GGAbuffer[inx] != ',') { buffer[i] = GGAbuffer[inx]; i++; \/\/if(i&gt;sizeof(buffer)){ \/\/return 0; \/\/} inx++; } float alt = (atof(buffer)); \/\/j = 0; \/\/while (buffer[j] != '.') j++; \/\/j++; \/\/int declen = (strlen(buffer))-j; \/\/int dec = atoi ((char *) buffer+j); \/\/int lat = (num) + (dec\/pow(10, (declen))); gga-&gt;alt.altitude = alt;\/\/\u0438\u0437\u043c\u0435\u043d\u0438\u043b  inx++; gga-&gt;alt.unit = GGAbuffer[inx];  return 0; }  int decodeRMC (char *RMCbuffer, RMCSTRUCT *rmc) { inx = 0; char buffer[12]; int i = 0; while (RMCbuffer[inx] != ',') inx++;  \/\/ 1st , inx++; while (RMCbuffer[inx] != ',') inx++;  \/\/ \u041f\u043e\u0441\u043b\u0435 time , inx++; if (RMCbuffer[inx] == 'A') { rmc-&gt;isValid = 1; } else { rmc-&gt;isValid =0; return 1; } inx++; inx++; while (RMCbuffer[inx] != ',') inx++;  \/\/ \u043f\u043e\u0441\u043b\u0435 latitude, inx++; while (RMCbuffer[inx] != ',') inx++;  \/\/ \u043f\u043e\u0441\u043b\u0435 NS , inx++; while (RMCbuffer[inx] != ',') inx++;  \/\/ \u043f\u043e\u0441\u043b\u0435 longitude , inx++; while (RMCbuffer[inx] != ',') inx++;  \/\/ \u043f\u043e\u0441\u043b\u0435 EW ,  \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c inx++; i=0; memset(buffer, '\\0', 12); while (RMCbuffer[inx] != ',') { buffer[i] = RMCbuffer[inx]; i++; \/\/if(i&gt;sizeof(buffer)){ \/\/return 0; \/\/} inx++; }  if (strlen (buffer) &gt; 0){ int16_t num = (atoi(buffer)); int j = 0; while (buffer[j] != '.') j++;   \/\/ \u0442\u043e\u0436\u0435, \u0447\u0442\u043e \u0438 \u0432\u044b\u0448\u0435 j++; int declen = (strlen(buffer))-j; int dec = atoi ((char *) buffer+j); float lat = num + (dec\/pow(10, (declen)));\/\/ \u0438\u0437\u043c\u0435\u043d\u0438\u043b rmc-&gt;speed = lat; } else rmc-&gt;speed = 0;  \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u0443\u0440\u0441 inx++; i=0; memset(buffer, '\\0', 12); while (RMCbuffer[inx] != ',') { buffer[i] = RMCbuffer[inx]; i++; \/\/if(i&gt;sizeof(buffer)){ \/\/return 0; \/\/} inx++; }  if (strlen (buffer) &gt; 0){ int16_t num = (atoi(buffer)); int j = 0; while (buffer[j] != '.') j++; j++; int declen = (strlen(buffer))-j; int dec = atoi ((char *) buffer+j); float lat = num + (dec\/pow(10, (declen)));\/\/\u0438\u0437\u043c\u0435\u043d\u0438\u043b rmc-&gt;course = lat; } else { rmc-&gt;course = 0; }  \/\/ \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u0442\u0443 inx++; i=0; memset(buffer, '\\0', 12); while (RMCbuffer[inx] != ',') { buffer[i] = RMCbuffer[inx]; i++; \/\/if(i&gt;sizeof(buffer)){ \/\/return 0; \/\/} inx++; }  \/\/ \u0414\u0430\u0442\u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 120295 day = atoi(buffer)\/10000; mon = (atoi(buffer)\/100)%100; yr = atoi(buffer)%100;  day = day+daychange;\/\/ \u043a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f \u0438\u0437-\u0437\u0430 \u0441\u0434\u0432\u0438\u0433\u0430 \u043f\u043e \u0413\u0440\u0438\u043d\u0432\u0438\u0447\u0443  \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 rmc-&gt;date.Day = day; rmc-&gt;date.Mon = mon; rmc-&gt;date.Yr = yr;  return 0; }<\/code><\/pre>\n<h4>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u043e\u0442\u043e\u043a\u0430 \u043e\u0442 UART-GPS uartProc_GNSS.c<\/h4>\n<p>\u0424\u0443\u043d\u043a\u0446\u0438\u044f uart_Handler_GNSS &#8212; \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a UART-\u043f\u043e\u0442\u043e\u043a\u0430, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0438\u0437 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430.<\/p>\n<p>\u041b\u043e\u0433\u0438\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b: <\/p>\n<ol>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043b\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f DMA (\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0431\u0443\u0444\u0435\u0440\u0430 \u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u0431\u0443\u0444\u0435\u0440);<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 &#8212; \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0444\u043b\u0430\u0433 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 GPS (gParams.isGPS = 1);<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0438\u0441\u043a GGA \u0438\u043b\u0438 RMC <\/p>\n<ul>\n<li>\n<p>\u0412 \u0440\u0435\u0436\u0438\u043c\u0435 shabloneMode = 0 \u0438\u0449\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c GGA \u0438\u043b\u0438 RMC;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0448\u0430\u0431\u043b\u043e\u043d \u043d\u0430\u0439\u0434\u0435\u043d, \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c shabloneMode = 1;<\/p>\n<\/li>\n<li>\n<p>\u0412 \u0440\u0435\u0436\u0438\u043c\u0435 1 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0431\u0430\u0439\u0442\u044b \u0434\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043a\u043e\u043d\u0446\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 (13 \u0438\u043b\u0438 10);<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043a\u043e\u0433\u0434\u0430 \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430<\/p>\n<ul>\n<li>\n<p>\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0431\u0443\u0444\u0435\u0440 buf_GGA \u0438\u043b\u0438 buf_RMC \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0438\u043f\u0430; <\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f GPS (gps_time_receive).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0414\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 <\/p>\n<ul>\n<li>\n<p>\u0412\u044b\u0437\u044b\u0432\u0430\u0435\u0442 decodeGGA() \u0438 decodeRMC() \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 gpsData.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0424\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430:<\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e \u0438\u0437 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432\u0430\u043b\u0438\u0434\u043d\u043e, \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438, \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432, \u0440\u0435\u0436\u0438\u043c \u0444\u0438\u043a\u0441\u0430, \u0432\u044b\u0441\u043e\u0442\u043e\u0439 \u0438 \u043a\u0443\u0440\u0441\u043e\u043c. <\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 uart_rezult_buf_out_AB[] \u0441 \u043f\u0440\u0435\u0430\u043c\u0431\u0443\u043b\u043e\u0439 0x5A 0xA5 \u0438 \u0434\u043b\u0438\u043d\u043e\u0439 \u043f\u0430\u043a\u0435\u0442\u0430.  <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 (DELAY_GPS_STATUS_CONNECT)1000 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435\u0442 &#8212; GPS \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c (gParams.isGPS= 0). <\/p>\n<\/li>\n<li>\n<p>uint8_t* dpi_getGPS_buffer (\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0432\u0435\u0434\u0443\u0449\u0435\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0435\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440).<\/p>\n<\/li>\n<li>\n<p>void uart_startRecieving_GNSS (\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 DMA).<\/p>\n<\/li>\n<\/ol>\n<pre><code class=\"objectivec\">extern volatile uint8_t uartRxFullIRDone; \/\/\u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u043b\u043d\u043e\u043c\u0443 \u0431\u0443\u0444\u0435\u0440\u0443 extern volatile uint8_t uartRxHalfIRDone; \/\/\u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 extern volatile uint8_t uartRxABDone;\/\/\u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0438\u0435\u043c \u043e\u0442 \u0432\u0435\u0434\u0443\u0449\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 extern volatile uint8_t uartTxIRDone_AB; \/\/\u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0432\u0435\u0434\u0443\u0449\u0435\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 extern short status_UART;  \/\/\u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0447\u0442\u043e gps \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438 #define DELAY_GPS_STATUS_CONNECT 1000\/\/1000 uint32_t gps_time_recieve = 0;\/\/\u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 GPS \/\/uint8_t gps_connect_status=-1;\/\/-1=\u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d 1=\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \/\/E N D \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0447\u0442\u043e gps \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043b\u0438  #define SIZEBUF_result_out_ab 55 \/\/57 \/\/53   0x5A 0xA5 0 unsigned char  uart_rezult_buf_out_AB[SIZEBUF_result_out_ab]={0,};                                                \/\/\"00.0000000 00.0000000 00:00:00.000 00 0 000.0 00.0&gt;\";                                                        \/\/60.1234567 47.1234567 16:11:33:128 09 2 134.2 34.6 int size_rez_buf_ab=0;  \/\/\u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u0441\u044b\u0440\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 GPS #define SIZEBUF_uart_rx_buf 100\/\/1000 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u043b \u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f gps uint8_t uart_rx_buf[SIZEBUF_uart_rx_buf]={0,};  \/\/\u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f GPS-GGA #define SIZEBUF_buf_GGA 100  char buf_GGA[SIZEBUF_buf_GGA]={0,};  \/\/\u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f GPS-RMC #define SIZEBUF_buf_RMC 100  char buf_RMC[SIZEBUF_buf_RMC]={0,};  \/\/ NMEA GPSSTRUCT gpsData; int flagGGA = 0, flagRMC = 0;  \/\/\u0434\u043b\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a #define SIZEBUF_shablon 3 char shablonGNGGA[]=\"GGA\"; char shablonGNRMC[]=\"RMC\"; short shablon_iGNGGA=0; short shablon_iGNRMC=0; char shablonMode=0;\/\/0=\u0438\u0449\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d\/\/1=\u043e\u0436\u0438\u0434\u0430\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b \u043a\u043e\u043d\u0446\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 13 char shablonMode_1=0;  \/\/\u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 #define SIZEBUF_result 100 char uart_rezult_buf1[SIZEBUF_result]={0,}; char uart_rezult_buf2[SIZEBUF_result]={0,}; char* uart_rezult_buf=uart_rezult_buf1; short uart_rezult_buf_i=0;\/\/\u0438\u043d\u0434\u0435\u043a\u0441 char* uart_bufRow=uart_rezult_buf1;\/\/\u0431\u0443\u0444\u0435\u0440 \u0441 \u0446\u0435\u043b\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \/\/E N D \u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0442\u0440\u043e\u043a\u0438 \/\/E N D \u0434\u043b\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a  void uart_Handler_GNSS(void)\/\/\u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e {  uint32_t ms = HAL_GetTick();  char isData=0; char* pData=(char*)uart_rx_buf;  if(uartRxFullIRDone){ uartRxFullIRDone = 0; pData=(char*)&amp;uart_rx_buf[SIZEBUF_uart_rx_buf\/2]; isData=1; } if(uartRxHalfIRDone){ uartRxHalfIRDone = 0; isData=1; } if(isData){ isData=0; \/\/\u0441\u0442\u0430\u0442\u0443\u0441 \u043e \u0442\u043e\u043c \u0447\u0442\u043e gps \u0430\u043a\u0442\u0438\u0432\u0435\u043d gParams.isGPS=1;  for(int i =0;i&lt;SIZEBUF_uart_rx_buf\/2;i++){ switch (shablonMode) { case 0:\/\/0=\u0438\u0449\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d if(pData[i]==shablonGNGGA[shablon_iGNGGA]){ shablon_iGNGGA++; }else{ shablon_iGNGGA=0; } if(pData[i]==shablonGNRMC[shablon_iGNRMC]){ shablon_iGNRMC++; }else{ shablon_iGNRMC=0; } if(shablon_iGNGGA || shablon_iGNRMC){ uart_rezult_buf[uart_rezult_buf_i]=pData[i];uart_rezult_buf_i++;  if(shablon_iGNGGA&gt;=SIZEBUF_shablon || shablon_iGNRMC&gt;=SIZEBUF_shablon){ shablon_iGNGGA=0; shablon_iGNRMC=0; shablonMode=1;\/\/\u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0438\u0441\u043a\u0430 \u043a\u043e\u043d\u0446\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 } }else{ uart_rezult_buf_i=0; } break; case 1:\/\/1=\u043e\u0436\u0438\u0434\u0430\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b \u043a\u043e\u043d\u0446\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 13 if(pData[i]==13 || pData[i]==10){ \/\/\u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u0443 uart_rezult_buf[uart_rezult_buf_i]='\\r'; uart_rezult_buf_i++; if(uart_rezult_buf_i&gt;=SIZEBUF_result){uart_rezult_buf_i=SIZEBUF_result;} uart_rezult_buf[uart_rezult_buf_i]='\\n';  \/\/\u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0431\u0443\u0444\u0435\u0440 if(uart_rezult_buf==uart_rezult_buf1){ uart_rezult_buf=uart_rezult_buf2; uart_bufRow=uart_rezult_buf1; }else{ uart_rezult_buf=uart_rezult_buf1; uart_bufRow=uart_rezult_buf2; }  if(uart_bufRow[0] == 'G')\/\/\u041f\u043e\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 GGA { memcpy(buf_GGA,uart_bufRow,SIZEBUF_buf_GGA); gps_time_recieve=ms; } if(uart_bufRow[0] == 'R')\/\/\u041f\u043e\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 RMC { memcpy(buf_RMC,uart_bufRow,SIZEBUF_buf_RMC); gps_time_recieve=ms; }  \/\/-----------------------------------------\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 NMEA-------------------------------------------------------------- if (decodeGGA(buf_GGA, &amp;gpsData.ggastruct) == 0) flagGGA = 2;  \/\/ 2 indicates the data is valid else flagGGA = 1;  \/\/ 1 indicates the data is invalid  \/\/if(ttt){decodeGGA(buf_GGA, &amp;gpsData.ggastruct);}\/\/\u043e\u0442\u043b\u0430\u0434\u043a\u0430  if (decodeRMC(buf_RMC, &amp;gpsData.rmcstruct) == 0) flagRMC = 2;  \/\/ 2 indicates the data is valid else flagRMC = 1;  \/\/ 1 indicates the data is invalid  if ((flagGGA == 2) | (flagRMC == 2)) { uart_rezult_buf_out_AB[0]=0x5A; uart_rezult_buf_out_AB[1]=0xA5;                         \/\/\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0431\u0443\u0444\u0435\u0440\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 GPS \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 NMEA, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0443\u0436\u0435 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0434\u0432\u0438\u0433\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435 - - -   size_rez_buf_ab=sprintf((char*)&amp;uart_rezult_buf_out_AB[3], \"%.6f %.6f %02d:%02d:%02d.%03d %02d %d %.2f %.2f&gt;\", gpsData.ggastruct.lcation.latitude,gpsData.ggastruct.lcation.longitude, gpsData.ggastruct.tim.hour,gpsData.ggastruct.tim.min, gpsData.ggastruct.tim.sec, gpsData.ggastruct.tim.msec,gpsData.ggastruct.numofsat,gpsData.ggastruct.calc.calculation, gpsData.ggastruct.alt.altitude,gpsData.rmcstruct.course); gParams.isRTK_GPS = gpsData.ggastruct.calc.calculation;\/\/\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0435\u0436\u0438\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u044b GPS  uart_rezult_buf_out_AB[2]=size_rez_buf_ab; size_rez_buf_ab+=3;\/\/\u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u0440\u0435\u0430\u043c\u0431\u0443\u043b\u044b+\u043f\u043e\u043b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440 } \/\/\u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0435\u0436\u0438\u043c \u043f\u043e\u0438\u0441\u043a\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 uart_rezult_buf_i=0; shablonMode=0; }else{ uart_rezult_buf[uart_rezult_buf_i]=pData[i]; uart_rezult_buf_i++; if(uart_rezult_buf_i&gt;=SIZEBUF_result){uart_rezult_buf_i=SIZEBUF_result;} } break; } } \/\/-\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c }  if(gps_time_recieve &amp;&amp; ((ms - gps_time_recieve) &gt;= DELAY_GPS_STATUS_CONNECT)){ gParams.isGPS=0; \/\/uart_startRecieving_GNSS();\/\/\u0431\u044b\u043b\u043e \u0443\u0431\u0440\u0430\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435, \/\/ \u0431\u044b\u043b\u043e \u043e\u0431\u043d\u0443\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u0430, \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u0435\u043c\u0430 \u043e\u0442 uart, \u044d\u0442\u043e \u0438 \u0431\u044b\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u043e \u0432\u0435\u0440\u0445 \u0443\u0436\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 } } \/\/\u0413\u0435\u0442\u0442\u0435\u0440 \u043d\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 uint8_t* dpi_getGPS_buffer(int* ret_buff_size) { if(ret_buff_size){*ret_buff_size=size_rez_buf_ab;} return uart_rezult_buf_out_AB; }  void uart_startRecieving_GNSS(void) { status_UART=1;\/\/1=startRecieving 2=RxHalf 3=RxCplt 4=\u043f\u0440\u0438\u0435\u043c \u043e\u0442 \u0410\u0411 (uart3)\/\/\u043e\u0442\u043b\u0430\u0434\u043a\u0430  memset(uart_rx_buf,0,sizeof(uart_rx_buf));  HAL_UART_Receive_DMA(&amp;huart1, (uint8_t*)uart_rx_buf, SIZEBUF_uart_rx_buf);\/\/\u043d\u0430\u0447\u0438\u043d\u0430\u044e \u043f\u0440\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 gps \u043d\u0430 uart1 } <\/code><\/pre>\n<h4>\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0439 <\/h4>\n<pre><code class=\"objectivec\">void HAL_UART_RxHalfCpltCallback(UART_HandleTypeDef *huart) { if(huart == &amp;huart1){ status_UART=2;\/\/1=startRecieving 2=RxHalf 3=RxCplt \/\/\u043e\u0442\u043b\u0430\u0434\u043a\u0430 uartRxHalfIRDone = 1; \/\/\u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0435 } }  void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) \/\/Callback \u043e\u0442 UART RX { if(huart == &amp;huart1){\/\/GPS \/\/HAL_UART_DMAStop(huart); status_UART=3;\/\/1=startRecieving 2=RxHalf 3=RxCplt \/\/\u043e\u0442\u043b\u0430\u0434\u043a\u0430 uartRxFullIRDone = 1; \/\/\u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043f\u043e\u043b\u043d\u043e\u043c\u0443 \u0431\u0443\u0444\u0435\u0440\u0443 } }  \/\/ \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043e\u0448\u0438\u0431\u043e\u043a UART void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) {     if (huart-&gt;Instance == USART1 &amp;&amp; enResetUART) { \/\/GPS         \/* \u0421\u0431\u0440\u043e\u0441 \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0442\u044b *\/         HAL_UART_DeInit(huart);         HAL_UART_Init(huart);         uartRxFullIRDone = 0;         uartRxHalfIRDone = 0;         uart_startRecieving_GNSS(); \/\/        if(status_UART==1){\/\/1-send 2=startRecieving 3=finishRecieving 4=TxCplt \/\/        uart_sendData(); \/\/        }else{ \/\/        uart_startRecieving_GNSS(); \/\/        }     }<\/code><\/pre>\n<h4>\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c<\/h4>\n<pre><code class=\"objectivec\">void proj_main() { volatile const char *ch = \";V-F-BIN;ver: \"VER_PROG(VER_a,VER_b,VER_c);(void)ch;  uart_GNSS_init();  uart_startRecieving_GNSS();\/\/\u0417\u0434\u0435\u0441\u044c \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 gps  while (1){ \/\/\u0445\u044d\u043d\u0434\u043b\u0435\u0440\u044b uart_Handler_GNSS(); }\/\/while (1) } <\/code><\/pre>\n<p><em>\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430  [\u00a0<\/em><a href=\"https:\/\/t.me\/ChipCraft\" rel=\"noopener noreferrer nofollow\"><em>https:\/\/t.me\/ChipCraft<\/em><\/a><em>\u00a0\u0412 \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043d\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438 [ #\u0438\u0441\u0441\u043a\u0443\u0441\u0442\u0432\u043e\u043c\u043a_\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439_\u043a\u043e\u0434 &#8212;<\/em>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f Module_GPS_NMEA0183<em>]<\/em>  <\/p>\n<h4>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0430 \ud83d\ude42 <\/h4>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dbf\/732\/99a\/dbf73299a4a56f6492aa7d3de2cc8dc1.png\" alt=\"\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434 GPS \" title=\"\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434 GPS \" width=\"1484\" height=\"912\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/dbf\/732\/99a\/dbf73299a4a56f6492aa7d3de2cc8dc1.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/dbf\/732\/99a\/dbf73299a4a56f6492aa7d3de2cc8dc1.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0445\u043e\u0434 GPS <\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u0440\u0435\u043a \u0441\u0432\u043e\u0438\u043c\u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u0430\u043c\u0438 \u0441\u043b\u043e\u0432\u043e H A B R,  \u043d\u043e \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u0438\u0437-\u0437\u0430 \u043f\u043b\u043e\u0445\u043e\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u0430, \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043a\u043e\u0440\u044f\u0432\u043e, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0435 \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 gps \u044d\u0442\u043e (\u0414\u0430\u0442\u0430, \u0432\u0440\u0435\u043c\u044f, \u0448\u0438\u0440\u043e\u0442\u0430, \u0434\u043e\u043b\u0433\u043e\u0442\u0430 \u0438 \u0432\u044b\u0441\u043e\u0442\u0430). <\/p>\n<p>\u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 GPS-\u0442\u0440\u0435\u043a\u0435\u0440 \u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0421#, \u0435\u0441\u043b\u0438 \u0412\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0438 \u044f \u0441 \u0440\u0430\u0434\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u043f\u0438\u0448\u0443 \u0441\u0442\u0430\u0442\u044c\u044e.  <\/p>\n<hr\/>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0412\u0430\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439, \u0431\u0443\u0434\u0443 \u0440\u0430\u0434 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0434\u043b\u044f \u0412\u0430\u0441 \u0435\u0449\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0442\u0435\u0439 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043f\u043e \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0432\u0438\u0434\u0430\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0442\u0430\u043a \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0445 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u2013 \u0431\u0443\u0434\u0443 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0435\u043d \u0437\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0443 \u043d\u0430 \u043c\u043e\u0439 \u0422\u0413-\u043a\u0430\u043d\u0430\u043b:\u00a0<a href=\"https:\/\/t.me\/ChipCraft\" rel=\"noopener noreferrer nofollow\">https:\/\/t.me\/ChipCraft<\/a>.  <\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/936028\/\"> https:\/\/habr.com\/ru\/articles\/936028\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><\/figure>\n<p>GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 &#8212; \u043e\u0442 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0442\u0440\u0435\u043a\u0435\u0440\u043e\u0432 \u0434\u043e \u0431\u0435\u0441\u043f\u0438\u043b\u043e\u0442\u043d\u044b\u0445 \u043b\u0435\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043e\u0432, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0442\u0430\u043a\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/NMEA_0183\" rel=\"noopener noreferrer nofollow\">NMEA 0183<\/a>, \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0437\u0431\u0435\u0440\u0443, \u043a\u0430\u043a \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u044d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 GPS-\u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 STM32 \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u0432 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u043b\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0432\u0438\u0434. <\/p>\n<h4>\u0410 \u0442\u0430\u043a\u0436\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u043e\u0432 \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32:<\/h4>\n<ul>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c GPS c UART-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c (TTL-\u0443\u0440\u043e\u0432\u043d\u0438), \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u0439 \u043d\u0430 \u043f\u0440\u044f\u043c\u0443\u044e \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443;<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c GPS \u0441 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RS-232\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c RS-232<\/a>, \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0442\u0438\u043f\u0430 gps, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0440\u043e\u0432\u043d\u0435\u0439 TTL. <\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0438: LS23030 (UART) \u0438 LS23036(RS-232).<\/p>\n<h4>\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f GPS-UART <\/h4>\n<figure class=\"\">\n<div><figcaption>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f-GPS(UART) \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32F103<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u0438\u0433\u043d\u0430\u043b GPS, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043a \u0432\u044b\u0432\u043e\u0434\u0443 PA10-31_\u043a\u043e\u043d\u0442\u0430\u043a\u0442 &#8212; RX(\u041c\u041a-STM32F103)<\/p>\n<p>\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u043d\u0438\u0436\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c MP231, \u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a +12\u0412, \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u043a\u043a\u0443\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 (NiMH\/Pb +12\u0412).  <\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u041f\u043e\u043d\u0438\u0436\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f MP2315 [ +12V \u0434\u043e +5V  ]  <\/figcaption><\/div>\n<\/figure>\n<p>!!! P.S. \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0448\u0443 \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430 \u043d\u0435\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c, \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444 (\u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0443), \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f &#8230;!!!<\/p>\n<h4>\u0412\u0438\u0434 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f-gps(uart) (\u043b\u0438\u043d\u0438\u044f TX)<\/h4>\n<figure class=\"full-width\">\n<div><figcaption>\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(uart) <\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f gps(uart) = delta [ 3.4V ], \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32.  <\/p>\n<h4>\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f GPS(RS-232)<\/h4>\n<figure class=\"full-width\">\n<div><figcaption>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f-GPS(RS-232) \u0447\u0435\u0440\u0435\u0437 ADM3202 \u043a \u041c\u041a-STM32F103<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u0438\u0433\u043d\u0430\u043b \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232), \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 13 \u043a\u043e\u043d\u0442\u0430\u043a\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f ADM3202, \u0434\u0430\u043b\u0435\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b (TTL) \u0443\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 PA10-31_\u043a\u043e\u043d\u0442\u0430\u043a\u0442 &#8212; RX(\u041c\u041a-STM32F103)<\/p>\n<h4>\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f ADM3202 \u043a \u041c\u041aSTM32  &#8212; \u043c\u0430\u043a\u0435\u0442 <\/h4>\n<figure class=\"full-width\">\n<div><figcaption>\u041c\u0430\u043a\u0435\u0442 ADM3202 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a STM32F103<\/figcaption><\/div>\n<\/figure>\n<p>\u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043f\u043e +5\u0412, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f MP2315. <\/p>\n<p>\u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u043f\u043e +3\u0412, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f LP2985.<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f LP2985 (+5\u0412  +3\u0412)<\/figcaption><\/div>\n<\/figure>\n<h4>\u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435 ADM3202<\/h4>\n<p>\u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b STM32, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0443\u0440\u043e\u0432\u043d\u044f\u043c\u0438 TTL\/CMOS &#8212; \u043e\u0431\u044b\u0447\u043d\u043e \u044d\u0442\u043e 3.3\u0412 \u0438\u043b\u0438 5\u0412, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 RS-232, \u043d\u0430\u043f\u0440\u043e\u0442\u0438\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u0435 \u0438 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f ( \u043e\u0442 \u00b13\u0412 \u0434\u043e \u00b112\u0412), \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0438\u0445 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u043c\u0438. <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043c\u043e\u0434\u0443\u043b\u044c-GPS (RS-232) \u043a \u0432\u044b\u0432\u043e\u0434\u0430\u043c \u041c\u041a-STM32, \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u043e \u0438 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0432\u0440\u0435\u0434\u0438\u0442\u044c \u0432\u044b\u0432\u043e\u0434\u044b. ADM3202 \u0440\u0435\u0448\u0430\u0435\u0442 \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0432 \u0434\u0440\u0443\u0433\u043e\u0439, \u0432 \u043e\u0431\u043e\u0438\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445. <\/p>\n<p>ADM3202 &#8212; \u044d\u0442\u043e \u0434\u0432\u0443\u0445\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c\u043e\u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a \u0443\u0440\u043e\u0432\u043d\u0435\u0439 RS-232 &#8212; TTL, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u0434\u0432\u0435 \u0437\u0430\u0434\u0430\u0447\u0438: <\/p>\n<ul>\n<li>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 RS-232 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 TTL-\u0443\u0440\u043e\u0432\u043d\u0438(RX-\u043a\u0430\u043d\u0430\u043b);<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0445 TTL-\u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432 RS-232(TX-\u043a\u0430\u043d\u0430\u043b). <\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434 RS-232, \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u043c\u043f\u043e\u0432\u044b\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f(chage pump) \u0441 \u0447\u0435\u0442\u044b\u0440\u044c\u043c\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u043c\u0438 \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u0430\u043c\u0438, \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u0438\u0442\u0430\u043d\u0438\u044f (\u043e\u0442 3\u0412 \u0434\u043e 5.5\u0412).<\/p>\n<h4>\u0412\u0438\u0434 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u0434\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202<\/h4>\n<figure class=\"full-width\">\n<div><figcaption>\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u0434\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f gps(rs-232) \u0434\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f = delta [ 10.6V ], \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32. <\/p>\n<h4>\u0412\u0438\u0434 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u043f\u043e\u0441\u043b\u0435  \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202<\/h4>\n<figure class=\"full-width\">\n<div><figcaption>\u041e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f-gps(rs-232) \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f ADM3202<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044f gps(rs-232) \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f = delta [ 3.6V ], \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 STM32.<\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 STM32F103 \u0432 CubeIDE<\/h3>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f Parametr Settings<\/h4>\n<p>\u0412 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 USART (Parametr Settings) \u044f \u0432\u044b\u0431\u0438\u0440\u0430\u044e:<\/p>\n<ul>\n<li>\n<p>Mode: Asynchronous (\u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c);<\/p>\n<\/li>\n<li>\n<p>Baud Rate: 9600 \u0431\u0438\u0442\/\u0441 (\u0432 \u043c\u043e\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0434\u0432\u0430 \u043c\u043e\u0434\u0443\u043b\u044f-gps (rs-232 \u0438 uart) \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 9600).<\/p>\n<\/li>\n<\/ul>\n<p>\u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. <\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &#171;Parameter settings&#187;<\/figcaption><\/div>\n<\/figure>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f NVIC Settings<\/h4>\n<p>\u0417\u0430\u0445\u043e\u0436\u0443 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 (NVIC Settings) \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u044e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435<\/p>\n<blockquote>\n<p>\u0414\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 USART \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0435\u043c\u0430 \u0438\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0438), \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 NVIC Settings \u0431\u044b\u043b\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 USART, \u044d\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0438 \u0431\u0435\u0437 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u043e\u043f\u0440\u043e\u0441\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432.  <\/p>\n<\/blockquote>\n<figure class=\"full-width\">\n<div><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &#171;NVIC Settings&#187;<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 GPS-\u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 NMEA-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0437 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 (1Hz), \u0432\u0430\u0436\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c DMA  \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Circular \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u043f\u0440\u0438\u0435\u043c.<\/p>\n<h4>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f DMA Settings<\/h4>\n<p>\u0417\u0430\u0445\u043e\u0436\u0443 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 DMA Settings\u00a0\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438:<\/p>\n<ol>\n<li>\n<p>\u0412\u044b\u0431\u043e\u0440 \u043f\u043e\u0442\u043e\u043a\u0430\/\u043a\u0430\u043d\u0430\u043b\u0430: USART1_RX (\u043f\u0440\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445);<\/p>\n<\/li>\n<li>\n<p>Mode: Circular ;<\/p>\n<\/li>\n<li>\n<p>Increment Memory Address: Enabled (\u0430\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u043f\u0430\u043c\u044f\u0442\u0438);<\/p>\n<\/li>\n<li>\n<p>Data Width: Byte (8 \u0431\u0438\u0442, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0444\u043e\u0440\u043c\u0430\u0442\u0443 NMEA).<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width\">\n<div><figcaption>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 &#171;DMA Settings&#187;<\/figcaption><\/div>\n<\/figure>\n<h4>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430(\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0438 \u043f\u0440\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445)<\/h4>\n<h4>\u041a\u043e\u0440\u043e\u0442\u043a\u043e \u043e NMEA 0183<\/h4>\n<p> \u042d\u0442\u043e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0436\u0434\u0443 \u043c\u043e\u0440\u0441\u043a\u0438\u043c \u0438 \u0430\u0432\u0438\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u0432\u043a\u043b\u044e\u0447\u0430\u044f GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0438. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 GPS-\u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u044b\u0432\u043e\u0434\u044f\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.<\/p>\n<h4>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438:<\/h4>\n<ul>\n<li>\n<p>\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442\u00a0\u2013 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 ASCII-\u0441\u0442\u0440\u043e\u043a;<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439\u00a0\u2013 \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u00a0<code>$<\/code>, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0442\u0438\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u043e\u0439;<\/p>\n<\/li>\n<li>\n<p>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438\u00a0\u2013 \u043e\u0431\u044b\u0447\u043d\u043e\u00a09600 \u0431\u043e\u0434\u00a0(\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438 \u0432\u044b\u0448\u0435 \u0434\u043b\u044f \u0432\u044b\u0441\u043e\u043a\u043e\u0447\u0430\u0441\u0442\u043e\u0442\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439);<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u00a0\u2013 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e\u00a01 \u0440\u0430\u0437 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443\u00a0(1Hz), \u043d\u043e \u0431\u044b\u0432\u0430\u044e\u0442 5Hz, 10Hz \u0438 \u0431\u043e\u043b\u0435\u0435.<\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 (GGA \u2013 Global Positioning System Fix Data):  <\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">\u2116<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">UTC-\u0432\u0440\u0435\u043c\u044f    <\/p>\n<\/td>\n<td>\n<p align=\"left\">112530.000    <\/p>\n<\/td>\n<td>\n<p align=\"left\">11:25:30 UTC    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">2<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0428\u0438\u0440\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">6012.3456    <\/p>\n<\/td>\n<td>\n<p align=\"left\">60\u00b0 12.3456\u2032    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0443\u0448\u0430\u0440\u0438\u0435 \u0448\u0438\u0440\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">N\/S    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0435\u0432\u0435\u0440\/\u042e\u0413<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0414\u043e\u043b\u0433\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">03015.6789    <\/p>\n<\/td>\n<td>\n<p align=\"left\">30\u00b0 15.6789\u2032    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">5<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0443\u0448\u0430\u0440\u0438\u0435 \u0434\u043e\u043b\u0433\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">E\/W<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u043e\u0441\u0442\u043e\u043a\/\u0417\u0430\u043f\u0430\u0434<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">6<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">Fix Quality    <\/p>\n<\/td>\n<td>\n<p align=\"left\">1<\/p>\n<\/td>\n<td>\n<p align=\"left\">GPS \u0444\u0438\u043a\u0441 (\u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439)    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">7<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0421\u043f\u0443\u0442\u043d\u0438\u043a\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">10    <\/p>\n<\/td>\n<td>\n<p align=\"left\">10 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">8<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">HDOP    <\/p>\n<\/td>\n<td>\n<p align=\"left\">0.95    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">9<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0412\u044b\u0441\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">45.3    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u0442\u0430 \u043d\u0430\u0434 \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u043c\u043e\u0440\u044f    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">10<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0415\u0434. \u0432\u044b\u0441\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">M    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u0440\u044b    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">11<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0413\u0435\u043e\u0438\u0434. \u0432\u044b\u0441\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">12.5    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u0442\u0430 \u0433\u0435\u043e\u0438\u0434\u0430    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">12<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0415\u0434. \u0433\u0435\u043e\u0438\u0434\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">M    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041c\u0435\u0442\u0440\u044b    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">13<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0414\u0438\u0444\u0444. \u043a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0443\u0441\u0442\u043e    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">14<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">CRC    <\/p>\n<\/td>\n<td>\n<p align=\"left\">*65    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430    <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 GGA<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412\u0440\u0435\u043c\u044f:      11:25:30<\/p>\n<\/li>\n<li>\n<p>\u0428\u0438\u0440\u043e\u0442\u0430:      60.20576\u00b0 N<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043b\u0433\u043e\u0442\u0430:      30.261315\u00b0 E<\/p>\n<\/li>\n<li>\n<p>\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e      \u0444\u0438\u043a\u0441\u0430: 1<\/p>\n<\/li>\n<li>\n<p>\u0421\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432:      10<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0441\u043e\u0442\u0430:      45.3 \u043c<\/p>\n<\/li>\n<\/ul>\n<h4>\u041f\u0440\u0438\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 (RMC \u2013 Recommended Minimum Navigation Information):  <\/h4>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">\u2116<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">1<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">UTC-\u0432\u0440\u0435\u043c\u044f    <\/p>\n<\/td>\n<td>\n<p align=\"left\">112530.000    <\/p>\n<\/td>\n<td>\n<p align=\"left\">11:25:30 UTC    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">2<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0421\u0442\u0430\u0442\u0443\u0441    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">3<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0428\u0438\u0440\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">6012.3456    <\/p>\n<\/td>\n<td>\n<p align=\"left\">60\u00b0 12.3456\u2032    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">4<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0443\u0448\u0430\u0440\u0438\u0435 \u0448\u0438\u0440\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">N\/S    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u0435\u0432\u0435\u0440\/\u042e\u0413<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">5<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0414\u043e\u043b\u0433\u043e\u0442\u0430    <\/p>\n<\/td>\n<td>\n<p align=\"left\">03015.6789    <\/p>\n<\/td>\n<td>\n<p align=\"left\">30\u00b0 15.6789\u2032    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">6<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041f\u043e\u043b\u0443\u0448\u0430\u0440\u0438\u0435 \u0434\u043e\u043b\u0433\u043e\u0442\u044b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">E\/W<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u043e\u0441\u0442\u043e\u043a\/\u0417\u0430\u043f\u0430\u0434<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">7<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c     <\/p>\n<\/td>\n<td>\n<p align=\"left\">5.12    <\/p>\n<\/td>\n<td>\n<p align=\"left\">5.12 \u0443\u0437\u043b\u0430      <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">8<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041a\u0443\u0440\u0441    <\/p>\n<\/td>\n<td>\n<p align=\"left\">87.45        <\/p>\n<\/td>\n<td>\n<p align=\"left\">87.45\u00b0      <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">9<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0414\u0430\u0442\u0430        <\/p>\n<\/td>\n<td>\n<p align=\"left\">110825    <\/p>\n<\/td>\n<td>\n<p align=\"left\">11 \u0430\u0432\u0433\u0443\u0441\u0442\u0430 2025    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">10<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u041c\u0430\u0433. \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435   <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0443\u0441\u0442\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">&#8212;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">11<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0415\u0434. \u043c\u0430\u0433. \u043e\u0442\u043a\u043b    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u0443\u0441\u0442\u043e<\/p>\n<\/td>\n<td>\n<p align=\"left\">&#8212;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">12<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">\u0420\u0435\u0436\u0438\u043c    <\/p>\n<\/td>\n<td>\n<p align=\"left\">A <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 GPS    <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"178\" width=\"178\">\n<p align=\"left\">13<\/p>\n<\/td>\n<td data-colwidth=\"167\" width=\"167\">\n<p align=\"left\">CRC    <\/p>\n<\/td>\n<td>\n<p align=\"left\">*6C    <\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430    <\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p><strong>\u041f\u043e\u0441\u043b\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 RMC<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u0412\u0440\u0435\u043c\u044f:      11:25:30<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u0442\u0443\u0441:      \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435<\/p>\n<\/li>\n<li>\n<p>\u0428\u0438\u0440\u043e\u0442\u0430:      60.20576\u00b0 N<\/p>\n<\/li>\n<li>\n<p>\u0414\u043e\u043b\u0433\u043e\u0442\u0430:      30.261315\u00b0 E<\/p>\n<\/li>\n<li>\n<p>\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c:      5.12 \u0443\u0437\u043b\u0430 (~9.48 \u043a\u043c\/\u0447)<\/p>\n<\/li>\n<li>\n<p>\u041a\u0443\u0440\u0441:      87.45\u00b0<\/p>\n<\/li>\n<li>\n<p>\u0414\u0430\u0442\u0430:      11.08.2025<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u044e \u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u0441\u0441\u044b\u043b\u043a\u0443, \u0433\u0434\u0435 \u0432 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 NMEA0183 [<a href=\"https:\/\/wiki.iarduino.ru\/page\/NMEA-0183\/\" rel=\"noopener noreferrer nofollow\">https:\/\/wiki.iarduino.ru\/page\/NMEA-0183\/<\/a>].<\/p>\n<h4>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 [ NMEA.h ]<\/h4>\n<p>\u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u0438\u0437 gps-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430, \u0437\u0434\u0435\u0441\u044c \u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e \u043d\u0430\u0431\u043e\u0440 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440, \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0441\u0432\u043e\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u043b\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<pre><code class=\"objectivec\">#ifndef INC_PROJECT_GNSS_NMEA_H_ #define INC_PROJECT_GNSS_NMEA_H_  \/\/ \u0412\u0440\u0435\u043c\u044f \u0432 \u0447\u0430\u0441\u0430\u0445, \u043c\u0438\u043d\u0443\u0442\u0430\u0445, \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 typedef struct { int hour; int min; int sec; int msec; }TIME;  typedef struct{ int calculation; }COORDINATE_CALC;  \/\/ \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b + \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 (NS\/EW) typedef struct { float latitude; char NS; float longitude; char EW; float altitude; char unit; }LOCATION;  \/\/\u0412\u044b\u0441\u043e\u0442\u0430 \u0438 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f typedef struct { float altitude; char unit; }ALTITUDE;  \/\/\u0414\u0430\u0442\u0430 typedef struct { int Day; int Mon; int Yr; }DATE;  \/\/\u041d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 GGA typedef struct { LOCATION lcation; TIME tim; int isfixValid; ALTITUDE alt; int numofsat; COORDINATE_CALC calc; }GGASTRUCT;  \/\/\u041d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 RMC typedef struct { DATE date; float speed; float course; int isValid; }RMCSTRUCT;  \/\/\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 GGA \u0438 RMC typedef struct { GGASTRUCT ggastruct; RMCSTRUCT rmcstruct; }GPSSTRUCT;  int decodeGGA (char *GGAbuffer, GGASTRUCT *gga);  int decodeRMC (char *RMCbuffer, RMCSTRUCT *rmc);  #endif \/* INC_PROJECT_GNSS_NMEA_H_ *\/<\/code><\/pre>\n<h4>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 NMEA.c<\/h4>\n<p><strong>\u0424\u0443\u043d\u043a\u0446\u0438\u044f decodeGGA() <\/strong><\/p>\n<p>\u041f\u0430\u0440\u0441\u0438\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 $GPGGA \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 GGASTRUCT \u0434\u0430\u043d\u043d\u044b\u043c\u0438: \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u0432\u044b\u0441\u043e\u0442\u0430, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432, \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438. <\/p>\n<p><strong>\u0428\u0430\u0433\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/strong>:<\/p>\n<ul>\n<li>\n<p>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u043f\u043e\u0438\u0441\u043a\u0443 \u043d\u0443\u0436\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 <\/p>\n<ul>\n<li>\n<p>\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f inx &#8212; \u044d\u0442\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 GGAbuffer;<\/p>\n<\/li>\n<li>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0434\u0443 \u043f\u0440\u043e\u043f\u0443\u0441\u043a \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 (\u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u0432\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439  ,)<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f  <\/p>\n<ul>\n<li>\n<p>\u0412 NMEA \u043f\u043e\u043b\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 (Fix Quality) \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>0 &#8212; \u043d\u0435\u0442 \u0444\u0438\u043a\u0441\u0430, 1 &#8212; GPS Fix, 2-DGPS Fix, 4\/5\/6 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u0437 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0445 \u0446\u0438\u0444\u0440, \u0442\u043e \u0432  gga-&gt;isfixValid \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 1, \u0438\u043d\u0430\u0447\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 <\/p>\n<ul>\n<li>\n<p>\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0432\u0440\u0435\u043c\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 HHMMSS (UTC);<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u044e\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u0430;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u044e GMT, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u0435\u043d\u044c (daychange++ \u0438\u043b\u0438 daycahnge&#8212;).<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0448\u0438\u0440\u043e\u0442\u044b (Latitude)<\/p>\n<ul>\n<li>\n<p>\u0424\u043e\u0440\u043c\u0430\u0442 \u0432 NMEA: DDMM.MMM;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0435\u0440\u0432\u044b\u0435 \u0446\u0438\u0444\u0440\u044b &#8212; \u0433\u0440\u0430\u0434\u0443\u0441\u044b, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 &#8212; \u043c\u0438\u043d\u0443\u0442\u044b;<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0434 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u043c\u0438\u043d\u0443\u0442\u044b, \u0434\u0435\u043b\u0438\u0442 \u0438\u0445 \u043d\u0430 60 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u0433\u0440\u0430\u0434\u0443\u0441\u0430\u043c;<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 NS == &#8216;S&#8217;, \u0448\u0438\u0440\u043e\u0442\u0430 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439. <\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0433\u043e\u0442\u044b (Longitude)<\/p>\n<ul>\n<li>\n<p>\u0424\u043e\u0440\u043c\u0430\u0442 \u0432 NMEA: DDMM.MMM;<\/p>\n<\/li>\n<li>\n<p>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0448\u0438\u0440\u043e\u0442\u0435, \u043d\u043e \u043f\u0435\u0440\u0432\u044b\u0435 3 \u0446\u0438\u0444\u0440\u044b &#8212; \u0433\u0440\u0430\u0434\u0443\u0441\u044b;<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 EW == &#8216;W&#8217;, \u0434\u043e\u043b\u0433\u043e\u0442\u0430 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 <\/p>\n<ul>\n<li>\n<p>\u0418\u0437 \u043f\u043e\u043b\u044f \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u043b\u0433\u043e\u0442\u044b \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u043e (gga-&gt;calc.calculation), \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0449\u0435\u0435<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-470647","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/470647","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=470647"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/470647\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=470647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=470647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=470647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}