{"id":459841,"date":"2025-05-16T09:00:22","date_gmt":"2025-05-16T09:00:22","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=459841"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=459841","title":{"rendered":"<span>Radio Data System, SI4735 \u0438 Flipper Zero<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u044f\u0445, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0440\u0430\u0434\u0438\u043e\u044d\u0444\u0438\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e radio data system (\u0430\u043d\u0433\u043b.\u00a0<em>Radio Data System<\/em>, RDS). \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 \u0438\u0437 \u0440\u0430\u0434\u0438\u043e\u043f\u0440\u0438\u0451\u043c\u043d\u0438\u043a\u0430 \u0438\u0433\u0440\u0430\u0435\u0442 \u043c\u0443\u0437\u044b\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c, \u0438 \u0441\u0442\u0430\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043a\u0442\u043e \u0435\u0451 \u0430\u0432\u0442\u043e\u0440. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043c\u043e\u0436\u043d\u043e &#171;\u0437\u0430\u0448\u0430\u0437\u0430\u043c\u0438\u0442\u044c&#187;, \u043d\u043e \u0432\u0435\u0434\u044c \u044d\u0442\u043e \u043d\u0435 \u043d\u0430\u0448 \u043c\u0435\u0442\u043e\u0434. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0437\u044f\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 si4735 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0451 \u043a Arduino. \u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u0438 \u043d\u0435\u0442. \u0415\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <a href=\"https:\/\/github.com\/pu2clr\/SI4735\" rel=\"noopener noreferrer nofollow\">SI4735<\/a>. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u0441\u0430\u043c\u044b\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0435 \u0441 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u0438 \u0433\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u0438, \u0430 \u0435\u0449\u0451 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c \u0438 \u0431\u0430\u0442\u0430\u0440\u0435\u0435\u0439, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0431\u044b\u043b\u043e \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u043c. \u0414\u0430\u043b\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d \u0441\u043f\u043e\u0441\u043e\u0431 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Flipper Zero \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0448\u0438\u043b\u0434\u0430 \u0434\u043b\u044f \u043d\u0435\u0433\u043e. \u0422\u043e\u0433\u0434\u0430 \u043d\u0435 \u043d\u0430\u0434\u043e \u0442\u0435\u0440\u044f\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0438 \u0438 \u0434\u0438\u0441\u043f\u043b\u0435\u0439, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0443\u0434\u0438\u0442\u044c\u0441\u044f \u0438 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043d\u0430 Flipper Zero.<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0415\u0449\u0451 \u043e\u0434\u043d\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u043d\u043e\u0441\u0438\u043c\u043e\u0439 \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438 Quansheng UV-K5. \u042d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 \u0445\u043e\u0440\u043e\u0448\u043e \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u043c \u043a\u043e\u0440\u043f\u0443\u0441\u0435. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u043d\u043e \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043b\u0430\u0442\u0443 \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043f\u043e\u0434 STM32. \u0410 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/%D0%B1%D0%B0%D0%BE%D1%84%D0%B5%D0%BD%D0%B3.%D1%80%D1%84\/accessories\/plata-prijomnika-si4732\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0434\u0443\u043b\u044f \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<\/a> \u0438 \u0442\u043e\u0433\u0434\u0430 \u043e\u0442\u043a\u0440\u043e\u044e\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D1%80%D0%BE%D1%82%D0%BA%D0%B8%D0%B5_%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B\" rel=\"noopener noreferrer nofollow\">\u041a\u0412 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430<\/a>. \u0422\u0430\u043a\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438! <\/p>\n<\/div>\n<\/details>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430\u043c\u0438 SI473x \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 <a href=\"https:\/\/xakep.ru\/2021\/07\/22\/diy-si473x\/#toc04.1\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0425\u0430\u043a\u0435\u0440. \u0412\u0441\u0451, \u0447\u0442\u043e \u0442\u0430\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041d\u043e \u0442\u0430\u043c \u043d\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 RDS. \u0422\u0430\u043a \u0447\u0442\u043e \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u0447\u0430\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 RDS.<\/p>\n<h2>\u0421\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430<\/h2>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Flipper Zero \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0443. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 i2c \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440\u044b, \u0430 \u0435\u0449\u0451 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u0430\u0443\u0434\u0438\u043e\u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u044c D-\u043a\u043b\u0430\u0441\u0441\u0430 \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u043e\u043c. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 &#8212; \u043e\u0431\u0432\u044f\u0437\u043a\u0430. \u042d\u0442\u0430 \u0441\u0445\u0435\u043c\u0430 \u0432\u043e \u043c\u043d\u043e\u0433\u043e\u043c \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0443\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0438\u0437 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0425\u0430\u043a\u0435\u0440:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/716\/5b8\/802\/7165b88027b81aa76edc87aa4ebc92b6.png\" alt=\"\u0420\u0438\u0441. \u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0448\u0438\u043b\u0434\u0430 \u043a Flipper Zero.\" title=\"\u0420\u0438\u0441. \u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0448\u0438\u043b\u0434\u0430 \u043a Flipper Zero.\" width=\"826\" height=\"583\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/716\/5b8\/802\/7165b88027b81aa76edc87aa4ebc92b6.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/716\/5b8\/802\/7165b88027b81aa76edc87aa4ebc92b6.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441. \u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0448\u0438\u043b\u0434\u0430 \u043a Flipper Zero.<\/figcaption><\/div>\n<\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u0435\u043c D-\u043a\u043b\u0430\u0441\u0441\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 <a href=\"https:\/\/amperka.ru\/product\/troyka-amplifier-d\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0434\u0443\u043b\u044c <\/a>\u0438\u0437 \u0410\u043c\u043f\u0435\u0440\u043a\u0438. \u0415\u0441\u043b\u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0448\u0438\u043b\u0434 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044f FM-\u0440\u0430\u0434\u0438\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0435\u0434 \u0441\u043d\u043e\u043c, \u0442\u043e \u043f\u0440\u0438\u0451\u043c\u043d\u0438\u043a \u0438\u043d\u043e\u0433\u0434\u0430 \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u044c, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u0430\u0436\u0435 \u043f\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0443. \u041d\u043e \u0442\u043e\u0433\u0434\u0430 \u0438\u0437 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0448\u0443\u043c, \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f si4735 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f Flipper Zero. \u0427\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0448\u0443\u043c\u0430, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u0445\u043e\u0434 S \u043c\u043e\u0434\u0443\u043b\u044f. \u0422\u043e\u0433\u0434\u0430 \u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0430\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u044b\u0447\u043a\u0443. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0438 \u0432\u044b\u0445\u043e\u0434\u0435 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0438\u043d \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0442\u044f\u0433\u0438\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440 \u0438 \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u044f \u0441\u0442\u0430\u043d\u0435\u0442 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c, \u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u043a \u0431\u0443\u0434\u0435\u0442 \u043c\u043e\u043b\u0447\u0430\u0442\u044c:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/93a\/9bf\/227\/93a9bf22747bfc7c810bfb439add052d.jpg\" alt=\"\u0420\u0438\u0441. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0430\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u044b\u0447\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c Enable \u0438 Mute \u043c\u043e\u0434\u0443\u043b\u044f.\" title=\"\u0420\u0438\u0441. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0430\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u044b\u0447\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c Enable \u0438 Mute \u043c\u043e\u0434\u0443\u043b\u044f.\" width=\"1932\" height=\"2576\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/93a\/9bf\/227\/93a9bf22747bfc7c810bfb439add052d.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/93a\/9bf\/227\/93a9bf22747bfc7c810bfb439add052d.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0430\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u044b\u0447\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c Enable \u0438 Mute \u043c\u043e\u0434\u0443\u043b\u044f.<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0449\u0451 \u0435\u0441\u0442\u044c \u0432\u0445\u043e\u0434 M, \u044d\u0442\u043e\u0442 \u0432\u0445\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 Mute. \u042d\u0442\u043e \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430.<\/p>\n<p>\u041f\u0440\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0430\u043a\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435 \u0441\u0430\u043c\u044b\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u0432\u044f\u0437\u043a\u0430 \u0434\u043b\u044f AM \u0430\u043d\u0442\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430. \u041f\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u043c\u0443 \u0441\u0447\u0451\u0442\u0443 \u0441 \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u043c\u0443\u0447\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0440\u0438 \u043f\u0440\u0438\u0451\u043c\u0435 RDS \u0432 FM \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u044d\u0442\u043e\u0442 \u0432\u0445\u043e\u0434 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442. \u041d\u043e \u043f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0434\u043e\u043b\u0435 \u0443\u0441\u0438\u0434\u0447\u0438\u0432\u043e\u0441\u0442\u0438  \u0438 \u0441\u043d\u043e\u0440\u043e\u0432\u043a\u0438 \u0432\u0441\u0451 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u0422\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u043f\u0430\u0440\u043a \u043f\u043e\u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u0442 \u043f\u043e\u043c\u0435\u0445 \u0438 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0432\u043e\u0434\u043d\u044b\u0435 \u043c\u0430\u044f\u043a\u0438 \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 \u043e\u043a\u043e\u043b\u043e 700 \u041a\u0413\u0446 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u044f\u043a \u0428\u0435\u0440\u0435\u043c\u0435\u0442\u044c\u0435\u0432\u043e. \u0418\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u043b \u0440\u0430\u0434\u0438\u043e\u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a\u0430 RWM \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 4996 \u041a\u0413\u0446.<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cde\/b6c\/1a2\/cdeb6c1a27a19862d643b873a5a4898a.jpg\" alt=\"\u0420\u0438\u0441. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b.\" title=\"\u0420\u0438\u0441. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b.\" width=\"1932\" height=\"2576\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/cde\/b6c\/1a2\/cdeb6c1a27a19862d643b873a5a4898a.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/cde\/b6c\/1a2\/cdeb6c1a27a19862d643b873a5a4898a.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4db\/c7c\/05e\/4dbc7c05eb5e593e9eb4f1310693dfac.jpg\" alt=\"\u0420\u0438\u0441. \u041a\u0430\u0442\u0443\u0448\u043a\u0438 0608 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e.\" title=\"\u0420\u0438\u0441. \u041a\u0430\u0442\u0443\u0448\u043a\u0438 0608 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e.\" width=\"1932\" height=\"2576\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4db\/c7c\/05e\/4dbc7c05eb5e593e9eb4f1310693dfac.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4db\/c7c\/05e\/4dbc7c05eb5e593e9eb4f1310693dfac.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441. \u041a\u0430\u0442\u0443\u0448\u043a\u0438 0608 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e.<\/figcaption><\/div>\n<\/figure>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/68232645159a09bab068b43a\" data-style=\"\" id=\"68232645159a09bab068b43a\" width=\"\"><\/div>\n<p>\u041d\u0430 \u0432\u0438\u0434\u0435\u043e \u0432\u044b\u0448\u0435 \u0441\u043b\u044b\u0448\u043d\u044b \u0441\u0438\u0433\u043d\u0430\u043b\u044b A1X, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u043d\u044b\u0435, \u043c\u0438\u043d\u0443\u0442\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e DUT1+dUT1 \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RWM\" rel=\"noopener noreferrer nofollow\">RWM <\/a>\u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 4996 \u041a\u0413\u0446. <\/p>\n<p>\u0410 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u0432\u0438\u0434\u0435\u043e \u043d\u0438\u0436\u0435 \u0441\u043b\u044b\u0448\u0435\u043d \u0441\u0438\u0433\u043d\u0430\u043b \u043e\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438, A1A <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RWM\" rel=\"noopener noreferrer nofollow\">RWM <\/a>\u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 4996 \u041a\u0413\u0446<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/682325ef159a09bab068b3e2\" data-style=\"\" id=\"682325ef159a09bab068b3e2\" width=\"\"><\/div>\n<\/div>\n<\/details>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/049\/5b8\/85c\/0495b885c2ac3da6e006ce635e22b6a9.jpg\" alt=\"\u0420\u0438\u0441. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430.\" title=\"\u0420\u0438\u0441. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430.\" width=\"4080\" height=\"3060\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/049\/5b8\/85c\/0495b885c2ac3da6e006ce635e22b6a9.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/049\/5b8\/85c\/0495b885c2ac3da6e006ce635e22b6a9.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/102\/af7\/6c9\/102af76c9ce2ce4edd1c485d3a1ca6ff.jpg\" alt=\"\u0420\u0438\u0441. \u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0441\u0432\u0435\u0440\u0445\u0443.\" title=\"\u0420\u0438\u0441. \u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0441\u0432\u0435\u0440\u0445\u0443.\" width=\"3060\" height=\"4080\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/102\/af7\/6c9\/102af76c9ce2ce4edd1c485d3a1ca6ff.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/102\/af7\/6c9\/102af76c9ce2ce4edd1c485d3a1ca6ff.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441. \u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0441\u0432\u0435\u0440\u0445\u0443.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c2f\/12e\/5a8\/c2f12e5a8d35dea155bed62008d90c8e.jpg\" alt=\"\u0420\u0438\u0441. \u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439.\" title=\"\u0420\u0438\u0441. \u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439.\" width=\"3060\" height=\"4080\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c2f\/12e\/5a8\/c2f12e5a8d35dea155bed62008d90c8e.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c2f\/12e\/5a8\/c2f12e5a8d35dea155bed62008d90c8e.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441. \u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/figcaption><\/div>\n<\/figure>\n<h2>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430<\/h2>\n<p>\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f Flipper Zero, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u0443\u0436\u0435 \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 \u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f. \u0414\u0430\u0436\u0435 \u0443 \u0430\u0432\u0442\u043e\u0440\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u044b. \u0422\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0443\u044e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c. \u041f\u0440\u0438 git clone \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 Flipper Zero \u043c\u043e\u0436\u043d\u043e \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0430 branch dev \u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0430 release, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0436\u0435\u043b\u0435\u0437\u0435 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u043e\u0441\u044c.<\/p>\n<p>\u0412\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 si4735 \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0438\u0437 <a href=\"https:\/\/xakep.ru\/2021\/07\/22\/diy-si473x\/#toc04.1\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a> \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0425\u0430\u043a\u0435\u0440 \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0422\u0430\u043a, \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>void delay(uint16_t ms)<\/code>  \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0430 \u0432 <code>void si4734_reset()<\/code>  \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043f\u0438\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">void si4734_reset(si4735App* app){ furi_hal_gpio_write(app-&gt;output_pin, false); \/\/ SI4734_RST_CLR(); delay(10); \/\/ delay(10); \/\/ furi_delay_ms(10); furi_hal_gpio_write(app-&gt;output_pin, true); \/\/ SI4734_RST_SET(); delay(10); \/\/ delay(10); \/\/ furi_delay_ms(10); }<\/code><\/pre>\n<p>\u0412 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <a href=\"https:\/\/libopencm3.org\/\" rel=\"noopener noreferrer nofollow\">LibopenCM3<\/a>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 i2c. \u0422\u043e\u0433\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 FM \u0438 AM \u0440\u0435\u0436\u0438\u043c\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">uint8_t si4734_fm_mode(){ FURI_LOG_E(TAG, \"si4734_fm_mode()\"); \/\/ ARG1 (1&lt;&lt;4)|0 AN322 p130 \/\/ ARG2 00000101 uint8_t cmd[3]={POWER_UP,0x10,0x05}; uint8_t status=0, tray=0; uint32_t timeout = 100;      furi_hal_i2c_acquire(&amp;furi_hal_i2c_handle_external);  furi_hal_i2c_tx(&amp;furi_hal_i2c_handle_external, (SI4734ADR&lt;&lt;1), cmd, 3, timeout); furi_delay_ms(1000); \/\/ furi_delay_ms(1000); \/\/ delay(1000);      do{  furi_hal_i2c_rx(&amp;furi_hal_i2c_handle_external, ((SI4734ADR&lt;&lt;1)|0x1), &amp;status, 1, timeout); \/\/  tray++; if(tray==255){ FURI_LOG_E(TAG, \"tray==255\");             furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external);             return 0xff;         } delay(50); \/\/ furi_delay_ms(50); \/\/ delay(50); }while(status!=0x80);      furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external);  return status; \/\/ status; }  uint8_t si4734_am_mode(){ \/\/ ARG1 (1&lt;&lt;4)|1 AN322 p130 \/\/ ARG2 00000101 uint8_t cmd[3]={POWER_UP,0x11,0x05}; uint8_t status, tray=0; uint32_t timeout = 100;  furi_hal_i2c_acquire(&amp;furi_hal_i2c_handle_external);  furi_hal_i2c_tx(&amp;furi_hal_i2c_handle_external, (SI4734ADR&lt;&lt;1), cmd, 3, timeout); furi_delay_ms(1000); \/\/ delay(1000); do{  furi_hal_i2c_rx(&amp;furi_hal_i2c_handle_external, ((SI4734ADR&lt;&lt;1)|0x1), &amp;status, 1, timeout); tray++; if(tray==255) { furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external); return 0xff; } delay(50); }while(status!=0x80);  furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external);  return status; }<\/code><\/pre>\n<p>\u0412\u043e\u0442 \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0441\u044f \u043a\u0432\u0430\u0440\u0446 \u0438 \u0431\u044b\u043b\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0435\u0442\u043a\u0443 release. \u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u043b\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044e \u0432\u0441\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u0430\u0441\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 i2c. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u043c \u0438 \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 RDS.<\/p>\n<p>\u0412 <a href=\"https:\/\/github.com\/5881\/si4734-ssb-v2\/blob\/main\/man\/AN332.pdf\" rel=\"noopener noreferrer nofollow\">AN332<\/a> \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 56. \u0412 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u0435 &#171;RDS (Si4706\/31\/32\/35\/41\/43\/45\/49 Only)&#187;. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 0x1500 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0x0001. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>uint8_t si4735_RDS_set_interrupt(),<\/code>\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u0441 RDS:<\/p>\n<pre><code class=\"cpp\">uint8_t si4735_RDS_set_interrupt(){ uint8_t status=0; \/*   Enable RDSRECV interrupt (set RDSINT bit when RDS has filled the   FIFO by the amount set on FM_RDS_INTERRUPT_FIFO_COUNT   Reply Status. Clear-to-send high *\/ status = si4734_set_prop(0x1500, 0x0001); \/\/ FM_RDS_INT_SOURCE \/\/ usart_transmit(&amp;tx_rb, \"RDS_interrupt_setup: COMPLITED\\r\\n\"); \/\/ char buff[30]; \/\/ sprintf(buff, \"status = %02X\\r\\n\", status); return status; }<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 56, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u0440\u0443\u043f\u043f RDS, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c\u044b\u0445 \u0432 RDS FIFO \u043f\u0435\u0440\u0435\u0434 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 RDSRECV. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>uint8_t si4735_RDS_set_group()<\/code>:<\/p>\n<pre><code class=\"cpp\">uint8_t si4735_RDS_set_group(){ uint8_t status=0; \/*   Sets the minimum number of   RDS groups stored in the   receive FIFO required before   RDSRECV is set. *\/ status = si4734_set_prop(0x1501, 0x0001); \/\/ FM_RDS_INT_FIFO_COUNT \/\/ 0x0004 \/\/ usart_transmit(&amp;tx_rb, \"RDS_set_group: COMPLITED\\r\\n\"); \/\/ char buff[30]; \/\/ sprintf(buff, \"status = %02X\\r\\n\", status); return status; }<\/code><\/pre>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b RDS \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 RDS (RDSEN) \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u043e\u0440\u043e\u0433\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043e\u0448\u0438\u0431\u043e\u043a \u0431\u043b\u043e\u043a\u043e\u0432 RDS. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 0x1502 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0xFF01. \u0423\u0434\u043e\u0431\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <code>uint8_t si4735_Configures_RDS_setting():<\/code><\/p>\n<pre><code class=\"cpp\">uint8_t si4735_Configures_RDS_setting(){ uint8_t status=0; \/*   Configures RDS setting. *\/ status = si4734_set_prop(0x1502, 0xFF01); \/\/ FM_RDS_CONFIG \/\/ 0xEF01 \/\/ usart_transmit(&amp;tx_rb, \"Configures_RDS_setting: COMPLITED\\r\\n\"); \/\/ char buff[30]; \/\/ sprintf(buff, \"status = %02X\\r\\n\", status); return status; }<\/code><\/pre>\n<p>\u042d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0447\u0438\u043f\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 FM \u0438\u043b\u0438 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0436\u0438\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">void reciver_set_mode(si4735App* app, uint8_t rec_mod){ static uint16_t amfreq=8432,fmfreq=9920;\/\/\u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \/\/ 8910  si4734_powerdown(); \/\/\u0447\u0430\u0441\u0442\u043e\u0442\u044b \/\/ if(app-&gt;reciver_mode==_FM_MODE)fmfreq=app-&gt;freq_khz; else amfreq=app-&gt;freq_khz; if(rec_mod==_AM_MODE){ \/\/o_printf(\"AM mode\\n\"); app-&gt;reciver_mode=_AM_MODE; si4734_am_mode(); si4734_set_prop(AM_CHANNEL_FILTER, 0x0100); si4734_set_prop(AM_SOFT_MUTE_MAX_ATTENUATION, 0);\/\/soft mute off si4734_set_prop(AM_AUTOMATIC_VOLUME_CONTROL_MAX_GAIN, 0x5000); \/\/60\u0434\u0431 si4734_set_prop(RX_VOLUME, app-&gt;vol); \/\/si4734_set_prop(AM_SEEK_BAND_TOP, 30000); MIN_LIMIT=200; MAX_LIMIT=30000; \/\/encoder=15200; \/\/ app-&gt;freq_khz=amfreq-bfo\/1000;\/\/\u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0430 \u043d\u0430 bfo \/\/ encoder= app-&gt;freq_khz=amfreq; bfo=bfo%1000; FURI_LOG_I(TAG, \"freq_khz:%d\\r\", app-&gt;freq_khz); si4734_am_set_freq(app-&gt;freq_khz); \/\/ encoder coef=1; app-&gt;coef=coef; encoder_mode=0; } else if(rec_mod==_FM_MODE){ \/\/oled_clear(); \/\/o_printf(\"FM mode\\n\"); app-&gt;reciver_mode=_FM_MODE; si4734_fm_mode(); si4734_set_prop(FM_DEEMPHASIS,0x0001);\/\/01 = 50 \u00b5s. Used in Europe, Australia, Japan si4734_set_prop(RX_VOLUME, app-&gt;vol); MIN_LIMIT=6000; MAX_LIMIT=11100; coef=1; \/\/ coef=1; app-&gt;coef=coef; \/\/encoder=8910; \/\/ encoder=fmfreq; app-&gt;freq_khz = fmfreq; si4734_fm_set_freq(app-&gt;freq_khz); \/\/ encoder encoder_mode=0; \/\/-----RDS----- \/\/ uint8_t status = 0; \/\/ char buff[14]; si4735_RDS_set_interrupt(); \/\/ sprintf(buff, \"status = %c\\r\\n\", status); \/\/ usart_transmit(&amp;tx_rb, buff); si4735_RDS_set_group(); \/\/ sprintf(buff, \"status = %2X\\r\\n\", status); \/\/ usart_transmit(&amp;tx_rb, buff); si4735_Configures_RDS_setting(); \/\/ sprintf(buff, \"status = %2X\\r\\n\", status); \/\/ usart_transmit(&amp;tx_rb, buff);  \/\/ status = si4734_get_int_status(); \/\/ sprintf(buff, \"status = %2X\\r\\n\", status); \/\/ usart_transmit(&amp;tx_rb, buff); }else{ app-&gt;reciver_mode=_SSB_MODE; \/\/bfo=0; si4734_ssb_patch_mode(ssb_patch_content); si4734_set_prop(0x0101,((1&lt;&lt;15)|(1&lt;&lt;12)|(1&lt;&lt;4)|2));\/\/ssb man page 24 si4734_set_prop(SSB_BFO, bfo); si4734_set_prop(AM_SOFT_MUTE_MAX_ATTENUATION, 0);\/\/soft mute off si4734_set_prop(AM_AUTOMATIC_VOLUME_CONTROL_MAX_GAIN, 0x7000); \/\/84\u0434\u0431 si4734_set_prop(RX_VOLUME, app-&gt;vol); MIN_LIMIT=200; MAX_LIMIT=30000; \/\/encoder=7100; app-&gt;freq_khz=amfreq; \/\/ app-&gt;freq_khz \/\/ encoder si4734_ssb_set_freq(app-&gt;freq_khz); coef=1; app-&gt;coef=coef; encoder_mode=0; } }<\/code><\/pre>\n<p>\u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0437 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435 \u0425\u0430\u043a\u0435\u0440. \u0421 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0432 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 46, 49 \u0438 52, \u0433\u0434\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>\u0410 \u0434\u0430\u043b\u044c\u0448\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e RDS \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430 \u0438 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0438\u0437 FIFO RDS. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f RDS \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0441\u0442\u0430\u0442\u0443\u0441 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0441\u0442\u0430\u0442\u0443\u0441 FIFO, \u0433\u0440\u0443\u043f\u043f\u043e\u0432\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u0431\u043b\u043e\u043a\u0438 A, B, C \u0438 D) \u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0431\u043b\u043e\u043a\u043e\u0432. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0432\u0430\u0436\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f:<\/p>\n<pre><code class=\"cpp\">uint8_t si4735_RDS_status(uint16_t *BLOCKA, uint16_t *BLOCKB, uint16_t *BLOCKC,                            uint16_t *BLOCKD, uint8_t *RDSFIFOUSED, uint8_t *RESP1,                            uint8_t *RESP2, uint8_t *RESP12){ uint8_t cmd[3]={0x24,0x1}; uint8_t tray=0; uint8_t answer[13]; uint32_t timeout = 100;  furi_hal_i2c_acquire(&amp;furi_hal_i2c_handle_external);  furi_hal_i2c_tx(&amp;furi_hal_i2c_handle_external, (SI4734ADR&lt;&lt;1), cmd, 2, timeout); \/\/ i2c_transfer7(SI4734I2C,SI4734ADR,cmd,2,0,0); delay(50); answer[0]=0; while(answer[0]==0){ furi_hal_i2c_rx(&amp;furi_hal_i2c_handle_external, ((SI4734ADR&lt;&lt;1)|0x1), answer, 13, timeout); \/\/ i2c_transfer7(SI4734I2C,SI4734ADR,0,0,answer,13); tray++; if(tray==255) { furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external); return 0xff; } delay(50); } \/* int val = ADCL + (ADCH &lt;&lt; 8);  *\/ *BLOCKA=answer[5] + (answer[4] &lt;&lt; 8); *BLOCKB=answer[7] + (answer[6] &lt;&lt; 8); *BLOCKC=answer[9] + (answer[8] &lt;&lt; 8); *BLOCKD=answer[11] + (answer[10] &lt;&lt; 8);  *RDSFIFOUSED=answer[3];  *RESP1=answer[1];  *RESP2=answer[2];  *RESP12=answer[12];  furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external);  return answer[0];  }<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0451 \u0432 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0439 \u0432\u0438\u0434. \u0414\u043b\u044f \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u044b\u0432\u043e\u0434\u0430 RDS \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f <a href=\"https:\/\/tsibrov.blogspot.com\/2020\/01\/rda5807m-part2-rds.html?m=1\" rel=\"noopener noreferrer nofollow\">\u044d\u0442\u043e\u0439<\/a> \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435\u0439. \u0422\u0430\u043c \u0430\u0432\u0442\u043e\u0440 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 RDS \u0438 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0434\u043b\u044f Arduino. \u0422\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430, \u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 RDS \u0438 si473x \u044d\u0442\u043e \u0434\u0430\u0436\u0435 \u0445\u043e\u0440\u043e\u0448\u043e. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <a href=\"https:\/\/github.com\/5881\/si4734-ssb-v2\/tree\/main\/man\" rel=\"noopener noreferrer nofollow\">\u0434\u0430\u0442\u0430\u0448\u0438\u0442\u044b<\/a> \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0451 \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e. \u0418 \u0442\u0430\u043c \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0433\u0440\u0443\u043f\u043f 0A, 0B \u0438 4A. \u0427\u0442\u043e\u0431\u044b \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0449\u0451 \u0438 \u0440\u0430\u0434\u0438\u043e\u0442\u0435\u043a\u0441\u0442, \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <a href=\"https:\/\/github.com\/pu2clr\/SI4735\" rel=\"noopener noreferrer nofollow\">SI4735<\/a>.<\/p>\n<p>\u0412 Arduino \u0432\u0441\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 loop(), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>void show_RDS_hum_2(si4735App* app)<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0446\u0438\u043a\u043b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f si4735. \u0415\u0441\u043b\u0438 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u0437 <a href=\"https:\/\/tsibrov.blogspot.com\/2020\/01\/rda5807m-part2-rds.html?m=1\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0438 <\/a>\u0438 \u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0438\u0436\u0435, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f 0A, 0B \u0438 4A \u043e\u043d\u0438 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u044b, \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u0410 \u0432\u043e\u0442 \u043a\u0443\u0441\u043e\u043a \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u044b 2A \u0443\u0436\u0435 \u0432\u0437\u044f\u0442 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <a href=\"https:\/\/github.com\/pu2clr\/SI4735\" rel=\"noopener noreferrer nofollow\">Si4735<\/a>:<\/p>\n<pre><code class=\"cpp\">void show_RDS_hum_2(si4735App* app){ \/\/ UNUSED(app); uint8_t errLevelA, errLevelB, errLevelC, errLevelD, groupType; UNUSED(errLevelA); UNUSED(errLevelB); UNUSED(errLevelC); UNUSED(errLevelD);   bool groupVer;  \/\/ char buff[30]; \/\/ uint16_t BLOCKA, BLOCKB, BLOCKC, BLOCKD; \/\/ get_recivier_RDS_status(&amp;BLOCKA, &amp;BLOCKB, &amp;BLOCKC, &amp;BLOCKD); \/\/ print_RDS(); uint16_t BLOCKA, BLOCKB, BLOCKC, BLOCKD; uint8_t status,RDSFIFOUSED,RESP1,RESP2,RESP12; UNUSED(status); \/\/-----\u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u0430\u043f\u0435-------------------------------------- si47x_rds_blockb blkB; \/\/------------------------------------------------------------------ status = get_recivier_RDS_status(app, &amp;BLOCKA, &amp;BLOCKB, &amp;BLOCKC, &amp;BLOCKD, &amp;RDSFIFOUSED, &amp;RESP1, &amp;RESP2, &amp;RESP12); if(RESP1&amp;RDSRECV_MASK){ if(RESP2&amp;RDSSYNC_MASK &amp;&amp; RDSFIFOUSED &gt; 0){ if (BLOCKA == MaybeThisIDIsReal) { if (IDRepeatCounter &lt; REPEATS_TO_BE_REAL_ID) { IDRepeatCounter++; \/\/ \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442, \u043e\u0442\u0440\u0430\u0437\u0438\u043c \u044d\u0442\u043e \u0432 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0435 if (IDRepeatCounter == REPEATS_TO_BE_REAL_ID) ID = MaybeThisIDIsReal; \/\/ \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u0441 ID \u0441\u0442\u0430\u043d\u0446\u0438\u0438 } } else { IDRepeatCounter = 0; \/\/ \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442, \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0437\u0430\u043d\u043e\u0432\u043e MaybeThisIDIsReal = BLOCKA; } if (ID == 0) return; \/\/ \u041f\u043e\u043a\u0430 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 ID, \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c RDS \u043d\u0435 \u0431\u0443\u0434\u0435\u043c if (BLOCKA != ID) return; \/\/ ID \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442. \u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u044d\u0442\u0443 RDS \u0433\u0440\u0443\u043f\u043f\u0443 \/\/ ID \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u043d\u0435 \u0441\u043a\u0430\u0447\u0435\u0442, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u0438 \u0433\u0440\u0443\u043f\u043f\u044b \u0432 \u0446\u0435\u043b\u043e\u043c \u0432\u044b\u0448\u0435 if (!ID_printed) { \/\/ \u0412\u044b\u0432\u0435\u0434\u0435\u043c ID \/\/ Serial.print(\"ID: \"); \/\/ Serial.println(ID, HEX);  \/\/ sprintf(buff, \"ID: %X\\r\\n\", ID); \/\/ usart_transmit(&amp;tx_rb, buff);  \/\/ app-&gt;ID=ID;  ID_printed = true; \/\/ \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0444\u043b\u0430\u0433 \u0447\u0442\u043e\u0431\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c ID } if((RESP12&amp;(BLEB_MASK&lt;3))||true){ \/\/ \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0443 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0443 \u043c\u0435\u043d\u044f \u043e\u0448\u0438\u0431\u043a\u0438 \u0438\u043b\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043b? \/\/ \u0411\u043b\u043e\u043a B \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439, \u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0442\u0438\u043f \u0438 \u0432\u0435\u0440\u0441\u0438\u044e \u0433\u0440\u0443\u043f\u043f\u044b \/\/ status = get_recivier_RDS_status(&amp;BLOCKA, &amp;BLOCKB, &amp;BLOCKC, &amp;BLOCKD); \/\/ 1 if (!PTy_printed) { \/\/ \u041d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u043c PTy if (PTy == (BLOCKB &amp; RDS_ALL_PTY_MASK) &gt;&gt; RDS_ALL_PTY_SHIFT) {  \/\/ \u0421\u0447\u0438\u0442\u0430\u0435\u043c PTy \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c, \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u0435\u0433\u043e char *PTy_buffer = (char*) malloc(30); \/\/ strcpy_P(PTy_buffer, (char*)pgm_read_word(&amp;(PTyList[PTy]))); strcpy(PTy_buffer, PTyList[PTy]); \/\/ Serial.print(\"PTy: \");  \/\/ usart_transmit(&amp;tx_rb, \"PTy: \"); \/\/ Serial.println(PTy_buffer); \/\/ usart_transmit(&amp;tx_rb, PTy_buffer); \/\/ usart_transmit(&amp;tx_rb, \"\\r\\n\");  \/\/ app-&gt;PTy_buffer=PTy_buffer; \/\/ \u0437\u0430\u043f\u0438\u0441\u044c \u0432\u0432\u043e\u0431\u0449\u0435 \u043d\u0435\u0432\u0435\u0440\u043d\u0430 for(int i=0;i&lt;size;++i){app-&gt;PTy_buffer[i]=PTy_buffer} strcpy(app-&gt;PTy_buffer, PTy_buffer); \/\/ \u0437\u0434\u0435\u0441\u044c \u043b\u043e\u0432\u0438\u0442\u0441\u044f NULL pointer  free(PTy_buffer); PTy_printed = true; } else PTy = (BLOCKB &amp; RDS_ALL_PTY_MASK) &gt;&gt; RDS_ALL_PTY_SHIFT; } groupType = (BLOCKB &amp; RDS_ALL_GROUPTYPE_MASK) &gt;&gt; RDS_ALL_GROUPTYPE_SHIFT; groupVer = (BLOCKB &amp; RDS_ALL_GROUPVER) &gt; 0; \/\/ ************* 0A, 0B - PSName, PTY ************ if ((groupType == 0)) { \/\/if((groupType == 0) and (errLevelD &lt; 3)) \/\/blockD = getRegister(RDA5807M_REG_BLOCK_D); \/\/ status = get_recivier_RDS_status(&amp;BLOCKA, &amp;BLOCKB, &amp;BLOCKC, &amp;BLOCKD); \/\/ 1 \/\/ \u0421\u0440\u0430\u0432\u043d\u0438\u043c \u043d\u043e\u0432\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b PSName \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438: char c = (uint8_t)(BLOCKD &gt;&gt; 8); \/\/ \u043d\u043e\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \/\/ char c = uint8_t(BLOCKD &gt;&gt; 8); \/\/ \u043d\u043e\u0432\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b uint8_t i = (BLOCKB &amp; (uint16_t)RDS_GROUP0_C1C0_MASK) &lt;&lt; 1; \/\/ \u0435\u0433\u043e \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0432 PSName if (PSName[i] != c) { \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f PSNameUpdated &amp;= !((1 &lt;&lt; i) != 0); \/\/ \u0441\u0431\u0440\u043e\u0441\u0438\u043c \u0444\u043b\u0430\u0433 \u0432 PSNameUpdated \/\/ \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e ==0 PSName[i] = c; } else \/\/ \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0444\u043b\u0430\u0433 \u0432 PSNameUpdated: PSNameUpdated |= 1 &lt;&lt; i; \/\/ \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 c = (uint8_t)(BLOCKD &amp; 255); \/\/ c = uint8_t(BLOCKD &amp; 255); i++; if (PSName[i] != c) { PSNameUpdated &amp;= !((1 &lt;&lt; i)!=0); \/\/ \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e ==0 PSName[i] = c; } else PSNameUpdated |= (1 &lt;&lt; i); \/\/ \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430\u0434\u043e !=0 \/\/ \u041a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 8 \u0444\u043b\u0430\u0433\u043e\u0432 \u0432 PSNameUpdated \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b, \u0441\u0447\u0438\u0442\u0430\u0435\u043c \u0447\u0442\u043e PSName \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e if (PSNameUpdated == 255) { \/\/ \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 Serial if (strcmp(PSName, PSName_prev) != 0) {  \/\/Serial.print(\"PSName: \"); \/\/ usart_transmit(&amp;tx_rb, \"PSName: \"); \/\/Serial.println(PSName); \/\/ usart_transmit(&amp;tx_rb, PSName); \/\/ usart_transmit(&amp;tx_rb, \"\\r\\n\"); \/\/ for(uint8_t i=0;i&lt;9;++i){ \/\/ app-&gt;PSName[i]=PSName[i]; \/\/ } strcpy(app-&gt;PSName, PSName);  strcpy(PSName_prev, PSName); } } } \/\/ PSName, PTy end \/\/ ****************************************** \/\/ ******** 2A - Gets the Text processed for the 2A group ******** \/**   * @ingroup group16 RDS status    *    * @brief Gets the Text processed for the 2A group   *    * @return char* string with the Text of the group A2     *\/ if ((groupType == 2) \/*&amp;&amp; (groupVer == 0)*\/ \/* &amp;&amp; getRdsVersionCode() == 0 *\/) { \/\/ Process group 2A             \/\/ Decode B block information             \/\/ blkB.raw.highValue = currentRdsStatus.resp.BLOCKBH;             \/\/ blkB.raw.lowValue = currentRdsStatus.resp.BLOCKBL; blkB.raw.highValue = BLOCKB &gt;&gt; 8;             blkB.raw.lowValue = BLOCKB;             rdsTextAdress2A = blkB.group2.address;  if (rdsTextAdress2A &gt;= 0 &amp;&amp; rdsTextAdress2A &lt; 16) { getNext4Block(&amp;rds_buffer2A[rdsTextAdress2A * 4], &amp;BLOCKC, &amp;BLOCKD); rds_buffer2A[63] = '\\0'; \/\/ return rds_buffer2A; strcpy(app-&gt;rds_buffer2A, rds_buffer2A); #if 0 if (strcmp(rds_buffer2A, rds_buffer2A_prev) != 0) { strcpy(app-&gt;rds_buffer2A, rds_buffer2A); strcpy(rds_buffer2A_prev, rds_buffer2A); } #endif } } \/\/ ****************************************** \/\/ ******** 4A - Clock time and date ******** if ((groupType == 4) &amp;&amp; (groupVer == 0)) { \/\/ (groupType == 4) and (groupVer == 0) and (errLevelC &lt; 3) and (errLevelD &lt; 3) \/\/ blockC = getRegister(RDA5807M_REG_BLOCK_C); \/\/ blockD = getRegister(RDA5807M_REG_BLOCK_D); \/\/ status = get_recivier_RDS_status(&amp;BLOCKA, &amp;BLOCKB, &amp;BLOCKC, &amp;BLOCKD); \/\/ 1 \/\/ char buf[30];  unsigned long MJD; uint16_t year; uint8_t month, day; MJD = (BLOCKB &amp; RDS_GROUP4A_MJD15_16_MASK); MJD = (MJD &lt;&lt; 15) | (BLOCKC &gt;&gt; RDS_GROUP4A_MJD0_14_SHIFT); \/\/ Serial.print(\"Date: \"); \/\/ usart_transmit(&amp;tx_rb, \"Date: \"); \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 if ((MJD &lt; 58844) || (MJD &gt; 62497)){  \/\/ Serial.println(\"decode error\"); \/\/ usart_transmit(&amp;tx_rb, \"decode error\\r\\n\"); \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 } else { MJDDecode(MJD, &amp;year, &amp;month, &amp;day); if ((day &lt;=31) &amp;&amp; (month &lt;= 12)) { \/\/ sprintf(buf, \"%02d.%02d.%04d\\r\\n\", day, month, year); \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 \/\/ Serial.println(buf); \/\/ usart_transmit(&amp;tx_rb, buf); \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 } else{ \/\/ Serial.println(\"decode error\"); \/\/ usart_transmit(&amp;tx_rb, \"decode error\\r\\n\"); \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 } }  long timeInMinutes; uint8_t hours, minutes, LTO; UNUSED(LTO); hours = (BLOCKC &amp; RDS_GROUP4A_HOURS4_MASK) &lt;&lt; 4; hours |= (BLOCKD &amp; RDS_GROUP4A_HOURS0_3_MASK) &gt;&gt; RDS_GROUP4A_HOURS0_3_SHIFT; minutes = (BLOCKD &amp; RDS_GROUP4A_MINUTES_MASK) &gt;&gt; RDS_GROUP4A_MINUTES_SHIFT; if ((hours &gt; 23) || (minutes &gt; 59)){ \/\/ Serial.println(\"Time: decode error\"); \/\/ usart_transmit(&amp;tx_rb, \"Time: decode error\\r\\n\"); \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 } else { timeInMinutes = hours * 60 + minutes; LTO = BLOCKD &amp; RDS_GROUP4A_LTO_MASK; if (BLOCKD &amp; RDS_GROUP4A_LTO_SIGN_MASK) { timeInMinutes -= (BLOCKD &amp; RDS_GROUP4A_LTO_MASK) * 30; if (timeInMinutes &lt; 0) timeInMinutes += 60 * 24; }   else { timeInMinutes += (BLOCKD &amp; RDS_GROUP4A_LTO_MASK) * 30; if (timeInMinutes &gt; 60 * 24) timeInMinutes -= 60 * 24; } hours = timeInMinutes \/ 60; minutes = timeInMinutes % 60; \/\/ sprintf(buf, \"Time: %02d:%02d\\r\\n\", hours, minutes); \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 \/\/ Serial.println(buf); \/\/ usart_transmit(&amp;tx_rb, buf); \/\/ \u0432\u044b\u0432\u043e\u0436\u0443 } } \/\/ Clock end \/\/ ****************************************** } } \/\/ After this call, the control will be returned back to event_loop_timers_app_run()         furi_event_loop_stop(app-&gt;event_loop); }  }<\/code><\/pre>\n<p>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>void MJDDecode(unsigned long MJD, uint16_t &amp; year, uint8_t &amp; month, uint8_t &amp; day). <\/code>\u041e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u0430 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u0430. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0434\u0438 \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u0441\u0442\u0432\u0430 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 \u0438 \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0439 Flipper Zero \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u0433\u0440\u0443\u043f\u043f\u044b 4A \u043d\u0435 \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f:<\/p>\n<pre><code class=\"cpp\">void MJDDecode(unsigned long MJD, uint16_t * year, uint8_t * month, uint8_t * day){   #if 0 unsigned long L = 2400000 + MJD + 68570; unsigned long N = (L * 4) \/ 146097; L = L - (146097.0 * N + 3) \/ 4; (*year) = 4000 * (L + 1) \/ 1461001; L = L - 1461 * (*year) \/ 4 + 31; (*month) = 80.0 * L \/ 2447.0; (*day) = L - 2447 * (*month) \/ 80; L = (*month) \/ 11; (*month) = (*month) + 2 - 12 * L; (*year) = 100 * (N - 49) + year + L;   #endif     \/\/ \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043a \u044e\u043b\u0438\u0430\u043d\u0441\u043a\u043e\u0439 \u0434\u0430\u0442\u0435     int jd = MJD + 2400001;      \/\/ \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439     int A, B, C, D, E;      \/\/ \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 JD \u0432 \u0433\u0440\u0438\u0433\u043e\u0440\u0438\u0430\u043d\u0441\u043a\u0443\u044e \u0434\u0430\u0442\u0443     A = jd + 32044;     B = (4 * A + 3) \/ 146097;     C = A - (146097 * B) \/ 4;     D = (4 * C + 3) \/ 1461;     E = C - (1461 * D) \/ 4;     int monthDay = (5 * E + 2) \/ 153;      *day = E - (153 * monthDay + 2) \/ 5 + 1;     *month = monthDay + 3 - 12 * (monthDay \/ 10);     *year = 100 * B + D - 4800 + (monthDay \/ 10); }<\/code><\/pre>\n<h2>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/h2>\n<p>\u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 RDS \u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0443\u0436\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0438\u0445 \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0439. \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430\u0445 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Flipper Zero, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e, \u043a\u0440\u043e\u043c\u0435 \u0441\u0430\u043c\u043e\u0439 \u043d\u0438\u0436\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0438:<\/p>\n<pre><code class=\"cpp\">static void si4735_app_draw_callback(Canvas* canvas, void* ctx) {     \/\/ UNUSED(ctx);     furi_assert(ctx);     si4735App* app = ctx;      static int text_offset = 0;      canvas_clear(canvas);      \/\/ canvas_draw_icon(canvas, 0, 29, &amp;I_amperka_ru_logo_128x35px);     canvas_draw_icon(canvas, 0, 0, &amp;I_main_interface);     canvas_draw_icon(canvas, 102, 0, &amp;I_RDS);      \/\/ canvas_set_font(canvas, FontPrimary);     \/\/ canvas_draw_str(canvas, 4, 8, \"RUN\");      \/\/ canvas_set_font(canvas, FontSecondary);     \/\/ elements_multiline_text_aligned(canvas, 127, 15, AlignRight, AlignTop, \"Some long long long long \\n aligned multiline text\");      \/\/ uint16_t freq_khz;     \/\/ app-&gt;freq_khz = 9920;     char string[30];     snprintf(string, 10, \"%d\", app-&gt;freq_khz * app-&gt;multiplier_freq); \/\/ app-&gt;freq_khz \/\/ app-&gt;multiplier_freq     \/\/ FURI_LOG_I(TAG, string);     canvas_set_font(canvas, FontBigNumbers);     canvas_draw_str(canvas, 35, 50, string); \/\/ 35 54     \/\/ elements_multiline_text_aligned(canvas, 45, 38, AlignRight, AlignTop, string);     canvas_set_font(canvas, FontSecondary); \/\/ FontSecondary     canvas_draw_str(canvas, 110, 49, \"kHz\");     canvas_set_font(canvas, FontSecondary);     \/\/ snprintf(string, 30, \"SNR:%2ddB SI: %2duVdB\", app-&gt;snr, app-&gt;rssi);     snprintf(string, 30, \"SNR:%2ddB\", app-&gt;snr);     canvas_draw_str(canvas, 73, 31, string);     snprintf(string, 30, \"RSSI:%2duVdB\", app-&gt;rssi);     canvas_draw_str(canvas, 71, 21, string);     \/\/ snprintf(string, 30, \"status x%x %dKHz   \", app-&gt;status, app-&gt;coef * app-&gt;n);     snprintf(string, 30, \"x%x\", app-&gt;status);     canvas_draw_str(canvas, 2, 42, string); \/\/ 4, 36     if(app-&gt;coef * app-&gt;n * 10 == 100){         snprintf(string, 30, \"%dKHz   \", app-&gt;coef * app-&gt;n * 10);     }else if(app-&gt;coef * app-&gt;n * 10 == 1000){         snprintf(string, 30, \"%dMHz   \", app-&gt;coef * app-&gt;n * 10 \/ 1000);     }else if(app-&gt;coef * app-&gt;n * 10 == 10000){         snprintf(string, 30, \"%dMHz   \", app-&gt;coef * app-&gt;n * 10 \/ 1000);     }          canvas_draw_str(canvas, 2, 50, string); \/\/ 4, 36      canvas_draw_str(canvas, 2, 9, app-&gt;PTy_buffer);     canvas_set_font(canvas, FontPrimary); \/\/ FontSecondary     canvas_draw_str(canvas, 2, 19, app-&gt;PSName);     canvas_set_font(canvas, FontSecondary); \/\/ FontSecondary     snprintf(string, 30, \"VOL:%d\", app-&gt;vol);     canvas_draw_str(canvas, 2, 31, string); \/\/ 4, 36      \/\/ strncpy(string, app-&gt;rds_buffer2A, 25);     \/\/ canvas_draw_str(canvas, 2, 58, string); \/\/ 4, 36      \/\/ strncpy(string, app-&gt;rds_buffer2A[33], 32);     \/\/ canvas_draw_str(canvas, 2, 60, string); \/\/ 4, 36      \/\/ \u0420\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0448\u0438\u0440\u0438\u043d\u0443 \u0442\u0435\u043a\u0441\u0442\u0430 \u0432 \u043f\u0438\u043a\u0441\u0435\u043b\u044f\u0445 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e, 6px \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b)     int text_width = strlen(app-&gt;rds_buffer2A) * 6;          \/\/ \u0420\u0438\u0441\u0443\u0435\u043c \u0431\u0435\u0433\u0443\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443     draw_scrolling_text(canvas, app-&gt;rds_buffer2A, text_width, 60, &amp;text_offset); }<\/code><\/pre>\n<p>\u0414\u0430\u043d\u043d\u044b\u0445 \u0432 RDS \u0433\u0440\u0443\u043f\u043f\u0435 2A \u043d\u0430 65 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432. \u0421\u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 \u0437\u0430 \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u0412\u043e\u043e\u0431\u0449\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u043a \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 Flipper Zero \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e, \u0430 \u0437\u0434\u0435\u0441\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0438\u0437 RDS \u0433\u0440\u0443\u043f\u043f\u044b 2A \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0438\u0437\u0443 \u0431\u0435\u0433\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439. \u042d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>void draw_scrolling_text(Canvas* canvas, const char* text, int text_width, int y_pos, int* offset)<\/code>  :<\/p>\n<pre><code class=\"cpp\">void draw_scrolling_text(Canvas* canvas, const char* text, int text_width, int y_pos, int* offset) {     \/\/ \u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u0430 (\u0443\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0437\u0430 \u044d\u043a\u0440\u0430\u043d)     canvas_draw_str(canvas, -(*offset), y_pos, text);     \/\/ \u0412\u0442\u043e\u0440\u0430\u044f \u0447\u0430\u0441\u0442\u044c (\u0435\u0441\u043b\u0438 \u0442\u0435\u043a\u0441\u0442 \u043a\u043e\u0440\u043e\u0447\u0435, \u0447\u0435\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435)     canvas_draw_str(canvas, text_width - (*offset), y_pos, text);          \/\/ \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0438 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c, \u0435\u0441\u043b\u0438 \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0448\u0435\u043b     (*offset) += SCROLL_STEP;     if (*offset &gt;= text_width) {         *offset = 0;     } }<\/code><\/pre>\n<p>\u0413\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u044c \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438 \u0432\u0432\u0435\u0440\u0445 \u0438 \u0432\u043d\u0438\u0437, \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u0432\u043b\u0435\u0432\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442 \u0440\u0435\u0436\u0438\u043c SSB, FM, AM. \u041a\u043d\u043e\u043f\u043a\u0438 \u0432\u043b\u0435\u0432\u043e-\u0432\u043f\u0440\u0430\u0432\u043e \u043c\u0435\u043d\u044f\u044e\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0441 \u0448\u0430\u0433\u043e\u043c 100 \u041a\u0413\u0446, 1 \u041c\u0413\u0446, 10\u041c\u0413\u0446 (\u0432 FM \u0440\u0435\u0436\u0438\u043c\u0435), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c \u0432\u043f\u0440\u0430\u0432\u043e. \u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 Mute. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430\u0437\u0430\u0434 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0439\u0442\u0438 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u043e \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0438\u0437 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u0433\u0440\u0430\u0442\u044c \u043c\u0443\u0437\u044b\u043a\u0430, Flipper \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0446\u0435\u043b\u0435\u0439. \u0410 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430\u0437\u0430\u0434 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0439\u0434\u0435\u0442 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6825ca746d3815ba9501a063\" data-style=\"\" id=\"6825ca746d3815ba9501a063\" width=\"\"><\/div>\n<pre><code class=\"cpp\">if (furi_message_queue_get(app-&gt;event_queue, &amp;event, 100) == FuriStatusOk) {             if (event.type == InputTypePress) { \/\/ EventTypeInput \/\/ InputTypeLong \/\/ InputTypeRelease                 if (event.key == InputKeyBack){ \/\/ .input                     \/\/ si4734_powerdown();                     \/\/ break;                 }else if(event.key == InputKeyUp){ \/\/ .input                     \/\/ si4734_volume(7);\/\/\u0433\u0440\u043e\u043c\u0447\u0435                     app-&gt;vol++;                     if(app-&gt;vol&gt;0x3f){                         app-&gt;vol=0x3f;                     }                 }else if(event.key == InputKeyDown){ \/\/ .input                     \/\/ si4734_volume(-7);\/\/\u0442\u0438\u0448\u0435                     app-&gt;vol--;                     if(app-&gt;vol&lt;1){                         app-&gt;vol=1;                     }                 }else if(event.key == InputKeyOk){ \/\/ .input                     app-&gt;mute_value = !app-&gt;mute_value;                     furi_hal_gpio_write(app-&gt;mute_pin, app-&gt;mute_value);                 }else if(event.key == InputKeyRight){ \/\/ .input                                      }else if(event.key == InputKeyLeft){ \/\/ .input                                      }                      }else if(event.type == InputTypeLong){                 SwitchingModes mode = app-&gt;switching_mode;                 CoefModes coef = app-&gt;coef_mode;                 if (event.key == InputKeyBack){ \/\/ .input                     si4734_powerdown();                     furi_hal_gpio_write(app-&gt;SHND_pin, false);                     \/\/ si4735_app_free(app);                     break;                 }else if (event.key == InputKeyLeft){                     app-&gt;switching_mode = (mode - 1 + TOTAL_SWITCHING_MODES) % TOTAL_SWITCHING_MODES;                     reciver_set_mode(app, app-&gt;switching_mode);                 }else if (event.key == InputKeyRight){                     app-&gt;coef_mode = (coef - 1 + TOTAL_COEF_MODES) % TOTAL_COEF_MODES;                 }             }else if(event.type == InputTypeRelease){                 if (event.key == InputKeyBack){ \/\/ .input                     \/\/ si4734_powerdown();                     \/\/ si4735_app_free(app);                     break;                 }                 else if(event.key == InputKeyRight){                     app-&gt;freq_khz+=(app-&gt;coef * app-&gt;n); \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u043d\u0430 10 \u041a\u0413\u0446 \/\/ \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0443 \u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u0438 \u043e\u0442\u0436\u0430\u0442\u0438\u0438                 }else if(event.key == InputKeyLeft){                     app-&gt;freq_khz-=(app-&gt;coef * app-&gt;n); \/\/ \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0443 \u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043f\u0440\u0438 \u043e\u0442\u0436\u0430\u0442\u0438\u0438                 }             }             #if 0              else if(event.type == EventTypeTick) {                 \/\/ \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u043e\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u043c\u0438\u0433\u0430\u043d\u0438\u044f \u0441\u0438\u043d\u0438\u043c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c                 \/\/ notification_message(app-&gt;notifications, &amp;sequence_blink_blue_100);                 \/\/ FURI_LOG_I(TAG, \"timer action\");                 show_RDS_hum_2(app);             }             #endif         }<\/code><\/pre>\n<h2>\u0418\u0442\u043e\u0433\u0438<\/h2>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f6b\/9ce\/5c1\/f6b9ce5c135d02347ccafba18359f2d2.jpg\" alt=\"\u0420\u0438\u0441. \u041c\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 si4735.\" title=\"\u0420\u0438\u0441. \u041c\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 si4735.\" width=\"3060\" height=\"4080\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/f6b\/9ce\/5c1\/f6b9ce5c135d02347ccafba18359f2d2.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f6b\/9ce\/5c1\/f6b9ce5c135d02347ccafba18359f2d2.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441. \u041c\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 si4735.<\/figcaption><\/div>\n<\/figure>\n<p>\u041e\u0447\u0435\u043d\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e <a href=\"https:\/\/xakep.ru\/2021\/07\/22\/diy-si473x\/#toc04.1\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u044e <\/a>\u0438\u0437 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0425\u0430\u043a\u0435\u0440, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0430 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f, \u043f\u043e\u043d\u044f\u0442\u043d\u0430\u044f \u0438 \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u043e\u0439 si4735. \u041d\u0443 \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 <a href=\"https:\/\/github.com\/5881\/si4734-ssb-v2\" rel=\"noopener noreferrer nofollow\">GitHub<\/a>. \u041d\u0430 \u0444\u043e\u0442\u043e \u0432\u044b\u0448\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. \u0412 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u0438 \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0434\u0438\u043e\u044d\u0444\u0438\u0440. <\/p>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0441\u044b\u0440\u043e\u0432\u0430\u0442\u044b\u043c \u0438 \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u0447\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438 \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u043c \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043c\u0435\u043d\u044e \u0434\u043b\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c. \u0412\u0435\u0434\u044c \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0435\u0441\u0442\u044c \u0438 \u0431\u0430\u0433\u0438, \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0448\u0430\u0433\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043f\u0435\u0440\u0435\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u0435\u0442 \u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0448\u0430\u0433\u0430 \u043d\u0430\u0436\u0438\u043c\u0430\u0442\u044c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u0432\u043b\u0435\u0432\u043e. \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0436\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043d\u0430 <a href=\"https:\/\/github.com\/NSV47\/si4735_FZ\/tree\/master\" rel=\"noopener noreferrer nofollow\">GitHub<\/a>.<\/p>\n<p>\u0412 \u0438\u0434\u0435\u0430\u043b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0440\u0435\u0436\u0438\u043c\u0430\u043c SSB \u0438 AM. \u0422\u0430\u043c \u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0445\u0440\u043e\u043c\u0430\u0435\u0442, \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u043d\u0430\u0434\u043e \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0438\u0437 \u0434\u043e\u043c\u0430 \u043f\u043e\u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u0442 \u043f\u043e\u043c\u0435\u0445. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u0447\u0435\u0440\u0430 \u0434\u043b\u044f \u0432\u0438\u0434\u0435\u043e \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 4996 \u041a\u0413\u0446, \u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0432 \u0432\u0438\u0434\u0435\u043e \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b\u0441\u044f, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u0430\u0431\u043e, \u0430 \u043f\u043e\u0442\u043e\u043c \u0438 \u0432\u043e\u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b \u0431\u044b\u0442\u044c \u0441\u043b\u044b\u0448\u0435\u043d. \u0421\u0438\u0433\u043d\u0430\u043b \u043f\u0440\u0438\u0432\u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u044f\u043a\u0430 \u0428\u0435\u0440\u0435\u043c\u0435\u0442\u044c\u0435\u0432\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0438\u0437 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b \u0442\u0430\u043a \u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0438 \u0432\u0447\u0435\u0440\u0430, \u043d\u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f. \u0425\u043e\u0442\u044f \u043f\u0440\u043e\u0448\u043b\u044b\u043c \u043b\u0435\u0442\u043e\u043c \u043e\u043d \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e. <\/p>\n<p>\u041d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f RDS \u0433\u0440\u0443\u043f\u043f\u044b 0A, 0B, 2A \u0438 4A. \u041d\u043e \u0432\u0435\u0434\u044c \u0433\u0440\u0443\u043f\u043f \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435. \u0423\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u044c D-\u043a\u043b\u0430\u0441\u0441\u0430 \u0442\u043e\u0436\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0430\u043c\u044b\u0439 \u043b\u0443\u0447\u0448\u0438\u0439 \u0441 \u0445\u043e\u0440\u043e\u0448\u0438\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u043e\u043c. \u0412 \u043e\u0431\u0449\u0435\u043c, \u0437\u0434\u0435\u0441\u044c \u0435\u0449\u0451 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435\u043f\u043e\u0447\u0430\u0442\u044b\u0439 \u043a\u0440\u0430\u0439, \u0442\u0430\u043a \u0447\u0442\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0430 \u0425\u0430\u0431\u0440.<\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e.<\/p>\n<p>\u0421.\u041d.<\/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\/908810\/\"> https:\/\/habr.com\/ru\/articles\/908810\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u044f\u0445, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0440\u0430\u0434\u0438\u043e\u044d\u0444\u0438\u0440\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e radio data system (\u0430\u043d\u0433\u043b.\u00a0<em>Radio Data System<\/em>, RDS). \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 \u0438\u0437 \u0440\u0430\u0434\u0438\u043e\u043f\u0440\u0438\u0451\u043c\u043d\u0438\u043a\u0430 \u0438\u0433\u0440\u0430\u0435\u0442 \u043c\u0443\u0437\u044b\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c, \u0438 \u0441\u0442\u0430\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u043a\u0442\u043e \u0435\u0451 \u0430\u0432\u0442\u043e\u0440. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043c\u043e\u0436\u043d\u043e &#171;\u0437\u0430\u0448\u0430\u0437\u0430\u043c\u0438\u0442\u044c&#187;, \u043d\u043e \u0432\u0435\u0434\u044c \u044d\u0442\u043e \u043d\u0435 \u043d\u0430\u0448 \u043c\u0435\u0442\u043e\u0434. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0437\u044f\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 si4735 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0451 \u043a Arduino. \u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u0438 \u043d\u0435\u0442. \u0415\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <a href=\"https:\/\/github.com\/pu2clr\/SI4735\" rel=\"noopener noreferrer nofollow\">SI4735<\/a>. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0435 \u0441\u0430\u043c\u044b\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0435 \u0441 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u0438 \u0433\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u0438, \u0430 \u0435\u0449\u0451 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c \u0438 \u0431\u0430\u0442\u0430\u0440\u0435\u0435\u0439, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0431\u044b\u043b\u043e \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u043c. \u0414\u0430\u043b\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d \u0441\u043f\u043e\u0441\u043e\u0431 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Flipper Zero \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0448\u0438\u043b\u0434\u0430 \u0434\u043b\u044f \u043d\u0435\u0433\u043e. \u0422\u043e\u0433\u0434\u0430 \u043d\u0435 \u043d\u0430\u0434\u043e \u0442\u0435\u0440\u044f\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0438 \u0438 \u0434\u0438\u0441\u043f\u043b\u0435\u0439, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0443\u0434\u0438\u0442\u044c\u0441\u044f \u0438 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043d\u0430 Flipper Zero.<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0415\u0449\u0451 \u043e\u0434\u043d\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u043d\u043e\u0441\u0438\u043c\u043e\u0439 \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438 Quansheng UV-K5. \u042d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 \u0445\u043e\u0440\u043e\u0448\u043e \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u043c \u043a\u043e\u0440\u043f\u0443\u0441\u0435. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u043d\u043e \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043b\u0430\u0442\u0443 \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043f\u043e\u0434 STM32. \u0410 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/%D0%B1%D0%B0%D0%BE%D1%84%D0%B5%D0%BD%D0%B3.%D1%80%D1%84\/accessories\/plata-prijomnika-si4732\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0434\u0443\u043b\u044f \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<\/a> \u0438 \u0442\u043e\u0433\u0434\u0430 \u043e\u0442\u043a\u0440\u043e\u044e\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D0%BE%D1%80%D0%BE%D1%82%D0%BA%D0%B8%D0%B5_%D0%B2%D0%BE%D0%BB%D0%BD%D1%8B\" rel=\"noopener noreferrer nofollow\">\u041a\u0412 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430<\/a>. \u0422\u0430\u043a\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c\u0438! <\/p>\n<\/div>\n<\/details>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430\u043c\u0438 SI473x \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 <a href=\"https:\/\/xakep.ru\/2021\/07\/22\/diy-si473x\/#toc04.1\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a> \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0425\u0430\u043a\u0435\u0440. \u0412\u0441\u0451, \u0447\u0442\u043e \u0442\u0430\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041d\u043e \u0442\u0430\u043c \u043d\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 RDS. \u0422\u0430\u043a \u0447\u0442\u043e \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432 \u0447\u0430\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 RDS.<\/p>\n<h2>\u0421\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430<\/h2>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Flipper Zero \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0443. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 i2c \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440\u044b, \u0430 \u0435\u0449\u0451 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u0430\u0443\u0434\u0438\u043e\u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u044c D-\u043a\u043b\u0430\u0441\u0441\u0430 \u0441 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u043e\u043c. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 &#8212; \u043e\u0431\u0432\u044f\u0437\u043a\u0430. \u042d\u0442\u0430 \u0441\u0445\u0435\u043c\u0430 \u0432\u043e \u043c\u043d\u043e\u0433\u043e\u043c \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0443\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0438\u0437 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0425\u0430\u043a\u0435\u0440:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441. \u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0448\u0438\u043b\u0434\u0430 \u043a Flipper Zero.<\/figcaption><\/div>\n<\/figure>\n<p>\u0417\u0434\u0435\u0441\u044c \u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u0435\u043c D-\u043a\u043b\u0430\u0441\u0441\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 <a href=\"https:\/\/amperka.ru\/product\/troyka-amplifier-d\" rel=\"noopener noreferrer nofollow\">\u043c\u043e\u0434\u0443\u043b\u044c <\/a>\u0438\u0437 \u0410\u043c\u043f\u0435\u0440\u043a\u0438. \u0415\u0441\u043b\u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0448\u0438\u043b\u0434 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044f FM-\u0440\u0430\u0434\u0438\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0435\u0434 \u0441\u043d\u043e\u043c, \u0442\u043e \u043f\u0440\u0438\u0451\u043c\u043d\u0438\u043a \u0438\u043d\u043e\u0433\u0434\u0430 \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u044c, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0434\u0430\u0436\u0435 \u043f\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0443. \u041d\u043e \u0442\u043e\u0433\u0434\u0430 \u0438\u0437 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0448\u0443\u043c, \u0434\u0430\u0436\u0435 \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f si4735 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f Flipper Zero. \u0427\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0448\u0443\u043c\u0430, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u0445\u043e\u0434 S \u043c\u043e\u0434\u0443\u043b\u044f. \u0422\u043e\u0433\u0434\u0430 \u043d\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0430\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u044b\u0447\u043a\u0443. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0438 \u0432\u044b\u0445\u043e\u0434\u0435 \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0438\u043d \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0442\u044f\u0433\u0438\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440 \u0438 \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u0441\u0438\u043b\u0438\u0442\u0435\u043b\u044f \u0441\u0442\u0430\u043d\u0435\u0442 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c, \u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u043a \u0431\u0443\u0434\u0435\u0442 \u043c\u043e\u043b\u0447\u0430\u0442\u044c:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0430\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u044b\u0447\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c Enable \u0438 Mute \u043c\u043e\u0434\u0443\u043b\u044f.<\/figcaption><\/div>\n<\/figure>\n<p>\u0415\u0449\u0451 \u0435\u0441\u0442\u044c \u0432\u0445\u043e\u0434 M, \u044d\u0442\u043e\u0442 \u0432\u0445\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 Mute. \u042d\u0442\u043e \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430.<\/p>\n<p>\u041f\u0440\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0430\u043a\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0432 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435 \u0441\u0430\u043c\u044b\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0431\u0432\u044f\u0437\u043a\u0430 \u0434\u043b\u044f AM \u0430\u043d\u0442\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u0430. \u041f\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u043c\u0443 \u0441\u0447\u0451\u0442\u0443 \u0441 \u043d\u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u043c\u0443\u0447\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0440\u0438 \u043f\u0440\u0438\u0451\u043c\u0435 RDS \u0432 FM \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u044d\u0442\u043e\u0442 \u0432\u0445\u043e\u0434 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442. \u041d\u043e \u043f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0434\u043e\u043b\u0435 \u0443\u0441\u0438\u0434\u0447\u0438\u0432\u043e\u0441\u0442\u0438  \u0438 \u0441\u043d\u043e\u0440\u043e\u0432\u043a\u0438 \u0432\u0441\u0451 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u0422\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u043f\u0430\u0440\u043a \u043f\u043e\u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u0442 \u043f\u043e\u043c\u0435\u0445 \u0438 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0432\u043e\u0434\u043d\u044b\u0435 \u043c\u0430\u044f\u043a\u0438 \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 \u043e\u043a\u043e\u043b\u043e 700 \u041a\u0413\u0446 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u043d\u043e\u0439 \u043c\u0430\u044f\u043a \u0428\u0435\u0440\u0435\u043c\u0435\u0442\u044c\u0435\u0432\u043e. \u0418\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u043b \u0440\u0430\u0434\u0438\u043e\u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a\u0430 RWM \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 4996 \u041a\u0413\u0446.<\/p>\n<details class=\"spoiler\">\n<summary>\u0421\u043a\u0440\u044b\u0442\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<\/summary>\n<div class=\"spoiler__content\">\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441. \u041a\u0430\u0442\u0443\u0448\u043a\u0438 0608 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0436\u043d\u043e.<\/figcaption><\/div>\n<\/figure>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/68232645159a09bab068b43a\" data-style=\"\" id=\"68232645159a09bab068b43a\" width=\"\"><\/div>\n<p>\u041d\u0430 \u0432\u0438\u0434\u0435\u043e \u0432\u044b\u0448\u0435 \u0441\u043b\u044b\u0448\u043d\u044b \u0441\u0438\u0433\u043d\u0430\u043b\u044b A1X, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u043d\u044b\u0435, \u043c\u0438\u043d\u0443\u0442\u043d\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e DUT1+dUT1 \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RWM\" rel=\"noopener noreferrer nofollow\">RWM <\/a>\u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 4996 \u041a\u0413\u0446. <\/p>\n<p>\u0410 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u0432\u0438\u0434\u0435\u043e \u043d\u0438\u0436\u0435 \u0441\u043b\u044b\u0448\u0435\u043d \u0441\u0438\u0433\u043d\u0430\u043b \u043e\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0434\u0438\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438, A1A <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RWM\" rel=\"noopener noreferrer nofollow\">RWM <\/a>\u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 4996 \u041a\u0413\u0446<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/682325ef159a09bab068b3e2\" data-style=\"\" id=\"682325ef159a09bab068b3e2\" width=\"\"><\/div>\n<\/div>\n<\/details>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441. \u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0441\u0432\u0435\u0440\u0445\u0443.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441. \u041e\u0431\u0449\u0438\u0439 \u0432\u0438\u0434 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0430 \u0431\u0435\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/figcaption><\/div>\n<\/figure>\n<h2>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430<\/h2>\n<p>\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f Flipper Zero, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u0443\u0436\u0435 \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 \u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u043c \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f. \u0414\u0430\u0436\u0435 \u0443 \u0430\u0432\u0442\u043e\u0440\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u044b. \u0422\u043e\u043b\u044c\u043a\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0443\u044e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c. \u041f\u0440\u0438 git clone \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 Flipper Zero \u043c\u043e\u0436\u043d\u043e \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043d\u0430 branch dev \u0438 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0430 release, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0436\u0435\u043b\u0435\u0437\u0435 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u043e\u0441\u044c.<\/p>\n<p>\u0412\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 si4735 \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0438\u0437 <a href=\"https:\/\/xakep.ru\/2021\/07\/22\/diy-si473x\/#toc04.1\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a> \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0425\u0430\u043a\u0435\u0440 \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0422\u0430\u043a, \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>void delay(uint16_t ms)<\/code>  \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0430 \u0432 <code>void si4734_reset()<\/code>  \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043f\u0438\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">void si4734_reset(si4735App* app){ furi_hal_gpio_write(app-&gt;output_pin, false); \/\/ SI4734_RST_CLR(); delay(10); \/\/ delay(10); \/\/ furi_delay_ms(10); furi_hal_gpio_write(app-&gt;output_pin, true); \/\/ SI4734_RST_SET(); delay(10); \/\/ delay(10); \/\/ furi_delay_ms(10); }<\/code><\/pre>\n<p>\u0412 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <a href=\"https:\/\/libopencm3.org\/\" rel=\"noopener noreferrer nofollow\">LibopenCM3<\/a>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 i2c. \u0422\u043e\u0433\u0434\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 FM \u0438 AM \u0440\u0435\u0436\u0438\u043c\u0430\u0445 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">uint8_t si4734_fm_mode(){ FURI_LOG_E(TAG, \"si4734_fm_mode()\"); \/\/ ARG1 (1&lt;&lt;4)|0 AN322 p130 \/\/ ARG2 00000101 uint8_t cmd[3]={POWER_UP,0x10,0x05}; uint8_t status=0, tray=0; uint32_t timeout = 100;      furi_hal_i2c_acquire(&amp;furi_hal_i2c_handle_external);  furi_hal_i2c_tx(&amp;furi_hal_i2c_handle_external, (SI4734ADR&lt;&lt;1), cmd, 3, timeout); furi_delay_ms(1000); \/\/ furi_delay_ms(1000); \/\/ delay(1000);      do{  furi_hal_i2c_rx(&amp;furi_hal_i2c_handle_external, ((SI4734ADR&lt;&lt;1)|0x1), &amp;status, 1, timeout); \/\/  tray++; if(tray==255){ FURI_LOG_E(TAG, \"tray==255\");             furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external);             return 0xff;         } delay(50); \/\/ furi_delay_ms(50); \/\/ delay(50); }while(status!=0x80);      furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external);  return status; \/\/ status; }  uint8_t si4734_am_mode(){ \/\/ ARG1 (1&lt;&lt;4)|1 AN322 p130 \/\/ ARG2 00000101 uint8_t cmd[3]={POWER_UP,0x11,0x05}; uint8_t status, tray=0; uint32_t timeout = 100;  furi_hal_i2c_acquire(&amp;furi_hal_i2c_handle_external);  furi_hal_i2c_tx(&amp;furi_hal_i2c_handle_external, (SI4734ADR&lt;&lt;1), cmd, 3, timeout); furi_delay_ms(1000); \/\/ delay(1000); do{  furi_hal_i2c_rx(&amp;furi_hal_i2c_handle_external, ((SI4734ADR&lt;&lt;1)|0x1), &amp;status, 1, timeout); tray++; if(tray==255) { furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external); return 0xff; } delay(50); }while(status!=0x80);  furi_hal_i2c_release(&amp;furi_hal_i2c_handle_external);  return status; }<\/code><\/pre>\n<p>\u0412\u043e\u0442 \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u043e\u0441\u0446\u0438\u043b\u043b\u043e\u0433\u0440\u0430\u0444\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b\u0441\u044f \u043a\u0432\u0430\u0440\u0446 \u0438 \u0431\u044b\u043b\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043e, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0432\u0435\u0442\u043a\u0443 release. \u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u043b\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044e \u0432\u0441\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u0430\u0441\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 i2c. \u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u043c \u0438 \u0441\u043e\u0441\u0440\u0435\u0434\u043e\u0442\u043e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 RDS.<\/p>\n<p>\u0412 <a href=\"https:\/\/github.com\/5881\/si4734-ssb-v2\/blob\/main\/man\/AN332.pdf\" rel=\"noopener noreferrer nofollow\">AN332<\/a> \u0435\u0441\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0430 56. \u0412 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u0435 &#171;RDS (Si4706\/31\/32\/35\/41\/43\/45\/49 Only)&#187;. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 0x1500 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0x0001. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>uint8_t si4735_RDS_set_interrupt(),<\/code>\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0435 \u0441 RDS:<\/p>\n<pre><code class=\"cpp\">uint8_t si4735_RDS_set_interrupt(){ uint8_t status=0; \/*   Enable RDSRECV interrupt (set RDSINT bit when RDS has filled the   FIFO by the amount set on FM_RDS_INTERRUPT_FIFO_COUNT   Reply Status. Clear-to-send high *\/ status = si4734_set_prop(0x1500, 0x0001); \/\/ FM_RDS_INT_SOURCE \/\/ usart_transmit(&amp;tx_rb, \"RDS_interrupt_setup: COMPLITED\\r\\n\"); \/\/ char buff[30]; \/\/ sprintf(buff, \"status = %02X\\r\\n\", status); return status; }<\/code><\/pre>\n<p>\u0414\u0430\u043b\u0435\u0435, \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 56, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u0440\u0443\u043f\u043f RDS, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c\u044b\u0445 \u0432 RDS FIFO \u043f\u0435\u0440\u0435\u0434 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 RDSRECV. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>uint8_t si4735_RDS_set_group()<\/code>:<\/p>\n<pre><code class=\"cpp\">uint8_t si4735_RDS_set_group(){ uint8_t status=0; \/*   Sets the minimum number of   RDS groups stored in the   receive FIFO required before   RDSRECV is set. *\/ status = si4734_set_prop(0x1501, 0x0001); \/\/ FM_RDS_INT_FIFO_COUNT \/\/ 0x0004 \/\/ usart_transmit(&amp;tx_rb, \"RDS_set_group: COMPLITED\\r\\n\"); \/\/ char buff[30]; \/\/ sprintf(buff, \"status = %02X\\r\\n\", status); return status; }<\/code><\/pre>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b RDS \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 RDS (RDSEN) \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u043e\u0440\u043e\u0433\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043e\u0448\u0438\u0431\u043e\u043a \u0431\u043b\u043e\u043a\u043e\u0432 RDS. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 0x1502 \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 0xFF01. \u0423\u0434\u043e\u0431\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 <code>uint8_t si4735_Configures_RDS_setting():<\/code><\/p>\n<pre><code class=\"cpp\">uint8_t si4735_Configures_RDS_setting(){ uint8_t status=0; \/*   Configures RDS setting. *\/ status = si4734_set_prop(0x1502, 0xFF01); \/\/ FM_RDS_CONFIG \/\/ 0xEF01 \/\/ usart_transmit(&amp;tx_rb, \"Configures_RDS_setting: COMPLITED\\r\\n\"); \/\/ char buff[30]; \/\/ sprintf(buff, \"status = %02X\\r\\n\", status); return status; }<\/code><\/pre>\n<p>\u042d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0447\u0438\u043f\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 FM \u0438\u043b\u0438 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0436\u0438\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cpp\">void reciver_set_mode(si4735App* app, uint8_t rec_mod){ static uint16_t amfreq=8432,fmfreq=9920;\/\/\u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c \u0441\u0442\u0430\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \/\/ 8910  si4734_powerdown(); \/\/\u0447\u0430\u0441\u0442\u043e\u0442\u044b \/\/ if(app-&gt;reciver_mode==_FM_MODE)fmfreq=app-&gt;freq_khz; else amfreq=app-&gt;freq_khz; if(rec_mod==_AM_MODE){ \/\/o_printf(\"AM mode\\n\"); app-&gt;reciver_mode=_AM_MODE; si4734_am_mode(); si4734_set_prop(AM_CHANNEL_FILTER, 0x0100); si4734_set_prop(AM_SOFT_MUTE_MAX_ATTENUATION, 0);\/\/soft mute off si4734_set_prop(AM_AUTOMATIC_VOLUME_CONTROL_MAX_GAIN, 0x5000); \/\/60\u0434\u0431 si4734_set_prop(RX_VOLUME, app-&gt;vol); \/\/si4734_set_prop(AM_SEEK_BAND_TOP, 30000); MIN_LIMIT=200; MAX_LIMIT=30000; \/\/encoder=15200; \/\/ app-&gt;freq_khz=amfreq-bfo\/1000;\/\/\u043f\u043e\u043f\u0440\u0430\u0432\u043a\u0430 \u043d\u0430 bfo \/\/ encoder= app-&gt;freq_khz=amfreq; bfo=bfo%1000; FURI_LOG_I(TAG, \"freq_khz:%d\\r\", app-&gt;freq_khz); si4734_am_set_freq(app-&gt;freq_khz); \/\/ encoder coef=1; app-&gt;coef=coef; encoder_mode=0; } else if(rec_mod==_FM_MODE){ \/\/oled_clear(); \/\/o_printf(\"FM mode\\n\"); app-&gt;reciver_mode=_FM_MODE; si4734_fm_mode(); si4734_set_prop(FM_DEEMPHASIS,0x0001);\/\/01 = 50 \u00b5s. Used in Europe, Australia, Japan si4734_set_prop(RX_VOLUME, app-&gt;vol); MIN_LIMIT=6000; MAX_LIMIT=11100; coef=1; \/\/ coef=1; app-&gt;coef=coef; \/\/encoder=8910; \/\/ encoder=fmfreq; app-&gt;freq_khz = fmfreq;<\/code><\/pre>\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-459841","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/459841","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=459841"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/459841\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=459841"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=459841"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=459841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}