{"id":10806,"date":"2023-03-08T06:20:47","date_gmt":"2023-03-08T02:50:47","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/"},"modified":"2023-03-08T06:20:47","modified_gmt":"2023-03-08T02:50:47","slug":"stm32f4-embedded-rust-at-the-pac-uart-communication-djp","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/","title":{"rendered":"STM32F4 Embedded Rust \u062f\u0631 PAC: UART Communication"},"content":{"rendered":"<div data-article-id=\"1392275\" id=\"article-body\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%8E%AC_%D9%85%D9%82%D8%AF%D9%85%D9%87\" >\ud83c\udfac \u0645\u0642\u062f\u0645\u0647<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%93%9A_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2_%D8%AF%D8%A7%D9%86%D8%B4\" >\ud83d\udcda \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0646\u0634<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%92%BE_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%86%D8%B1%D9%85_%D8%A7%D9%81%D8%B2%D8%A7%D8%B1\" >\ud83d\udcbe \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%9B%A0_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D8%B3%D8%AE%D8%AA_%D8%A7%D9%81%D8%B2%D8%A7%D8%B1\" >\ud83d\udee0 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u062e\u062a \u0627\u0641\u0632\u0627\u0631<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%A7%B0_%D9%85%D9%88%D8%A7%D8%AF\" >\ud83e\uddf0 \u0645\u0648\u0627\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%94%8C_%D8%A7%D8%AA%D8%B5%D8%A7%D9%84%D8%A7%D8%AA\" >\ud83d\udd0c \u0627\u062a\u0635\u0627\u0644\u0627\u062a<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%91%A8%E2%80%8D%F0%9F%8E%A8_%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D9%86%D8%B1%D9%85_%D8%A7%D9%81%D8%B2%D8%A7%D8%B1\" >\ud83d\udc68\u200d\ud83c\udfa8 \u0637\u0631\u0627\u062d\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%91%A8%E2%80%8D%F0%9F%92%BB_%D9%BE%DB%8C%D8%A7%D8%AF%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D8%AF\" >\ud83d\udc68\u200d\ud83d\udcbb \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u062f<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%93%A5_%D9%88%D8%A7%D8%B1%D8%AF%D8%A7%D8%AA_%D8%AC%D8%B9%D8%A8%D9%87\" >\ud83d\udce5 \u0648\u0627\u0631\u062f\u0627\u062a \u062c\u0639\u0628\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%8E%9B_%DA%A9%D8%AF_%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA_%D8%AC%D8%A7%D9%86%D8%A8%DB%8C\" >\ud83c\udf9b \u06a9\u062f \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062c\u0627\u0646\u0628\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%93%B1_%DA%A9%D8%AF_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87\" >\ud83d\udcf1 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%93%80_%DA%A9%D8%AF_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%DA%A9%D8%A7%D9%85%D9%84\" >\ud83d\udcc0 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0645\u0644<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%F0%9F%94%AC_%D8%A2%D8%B2%D9%85%D8%A7%DB%8C%D8%B4%D8%A7%DB%8C%D8%AF%D9%87_%D9%87%D8%A7%DB%8C_%D8%A8%DB%8C%D8%B4%D8%AA%D8%B1\" >\ud83d\udd2c \u0622\u0632\u0645\u0627\u06cc\u0634\/\u0627\u06cc\u062f\u0647 \u0647\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/stm32f4-embedded-rust-at-the-pac-uart-communication-djp\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87\" >\u0646\u062a\u06cc\u062c\u0647<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%8E%AC_%D9%85%D9%82%D8%AF%D9%85%D9%87\"><\/span>\n<p>  \ud83c\udfac \u0645\u0642\u062f\u0645\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>UART (\u06af\u06cc\u0631\u0646\u062f\u0647 \/ \u0641\u0631\u0633\u062a\u0646\u062f\u0647 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u062c\u0647\u0627\u0646\u06cc) \u06cc\u06a9 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0627\u0631\u062a\u0628\u0627\u0637\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0633\u0631\u06cc\u0627\u0644 \u0628\u06cc\u0646 \u062f\u0648 \u062f\u0633\u062a\u06af\u0627\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f.  \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc \u062a\u0639\u0628\u06cc\u0647\u200c\u0634\u062f\u0647\u060c UART \u0647\u0646\u0648\u0632 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u062f\u0633\u062a\u06af\u0627\u0647\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u0645\u0627\u0646\u0646\u062f \u0633\u0646\u0633\u0648\u0631\u0647\u0627\u060c \u0646\u0645\u0627\u06cc\u0634\u06af\u0631\u0647\u0627 \u0648 \u0633\u0627\u06cc\u0631 \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.  \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a\u060c \u0645\u0646 \u0628\u0627 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06cc\u06a9 \u0641\u0631\u0633\u062a\u0646\u062f\u0647 UART \u0633\u0627\u062f\u0647 \u062f\u0631 Rust \u062f\u0631 \u0633\u0637\u062d PAC (\u062c\u0639\u0628\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u062d\u06cc\u0637\u06cc) \u06a9\u0627\u0631 \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.  \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0647 \u0633\u0627\u062f\u06af\u06cc \u06cc\u06a9 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u06a9\u0631\u0631 \u0628\u0647 \u06cc\u06a9 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646 \u0645\u062a\u0635\u0644 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0631\u0627 \u0645\u0641\u06cc\u062f \u0645\u06cc\u200c\u062f\u0627\u0646\u06cc\u062f \u0648 \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632 \u0645\u0627\u0646\u062f\u0646 \u0628\u0627 \u067e\u0633\u062a\u200c\u0647\u0627\u06cc \u0645\u0634\u0627\u0628\u0647\u060c \u0644\u06cc\u0633\u062a \u06a9\u0627\u0646\u0627\u0644\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f\/\u062f\u0631 \u0622\u0646\u0647\u0627 \u0645\u0634\u062a\u0631\u06a9 \u0634\u0648\u06cc\u062f\u060c \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%93%9A_%D9%BE%DB%8C%D8%B4_%D9%86%DB%8C%D8%A7%D8%B2_%D8%AF%D8%A7%D9%86%D8%B4\"><\/span>\n<p>  <strong>\ud83d\udcda \u067e\u06cc\u0634 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0646\u0634<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u062f\u0631\u06a9 \u0645\u062d\u062a\u0648\u0627\u06cc \u0627\u06cc\u0646 \u067e\u0633\u062a \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f:<\/p>\n<ul>\n<li>\n<p>\u062f\u0627\u0646\u0634 \u0627\u0648\u0644\u06cc\u0647 \u06a9\u062f \u0646\u0648\u06cc\u0633\u06cc \u062f\u0631 Rust.<\/p>\n<\/li>\n<li>\n<p>\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u0642\u0627\u0644\u0628 \u0627\u0648\u0644\u06cc\u0647 \u0633\u0627\u062e\u062a \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u0647\u0627\u06cc \u062c\u0627\u0633\u0627\u0632\u06cc \u0634\u062f\u0647 \u062f\u0631 Rust.<\/p>\n<\/li>\n<li>\n<p>\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 <strong>\u0627\u0635\u0648\u0644 \u0627\u0631\u062a\u0628\u0627\u0637 UART<\/strong>.<\/p>\n<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%92%BE_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%86%D8%B1%D9%85_%D8%A7%D9%81%D8%B2%D8%A7%D8%B1\"><\/span>\n<p>  <strong>\ud83d\udcbe \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062a\u0645\u0627\u0645 \u06a9\u062f\u0647\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0634\u062f\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627\u06cc \u0645\u062d\u06cc\u0637 \u0648 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u0628\u0632\u0627\u0631 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a <strong>apollolabsdev Nucleo-F401RE<\/strong> git repo.  \u062a\u0648\u062c\u0647 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0627\u06af\u0631 \u06a9\u062f \u0645\u0648\u062c\u0648\u062f \u062f\u0631 git repo \u06a9\u0645\u06cc \u0645\u062a\u0641\u0627\u0648\u062a \u0628\u0627\u0634\u062f\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0628\u0647\u0628\u0648\u062f \u06a9\u06cc\u0641\u06cc\u062a \u06a9\u062f \u06cc\u0627 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0647\u0631 \u06af\u0648\u0646\u0647 HAL\/Rust \u062a\u063a\u06cc\u06cc\u0631 \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a.<\/p>\n<p>\u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0645\u0648\u0627\u0631\u062f \u0641\u0648\u0642\u060c \u0634\u0645\u0627 \u0628\u0627\u06cc\u062f \u0646\u0648\u0639\u06cc \u062a\u0631\u0645\u06cc\u0646\u0627\u0644 \u0627\u0631\u062a\u0628\u0627\u0637\u06cc \u0633\u0631\u06cc\u0627\u0644 \u0631\u0627 \u0628\u0631 \u0631\u0648\u06cc \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f.  \u0628\u0631\u062e\u06cc \u0627\u0632 \u062a\u0648\u0635\u06cc\u0647 \u0647\u0627 \u0639\u0628\u0627\u0631\u062a\u0646\u062f \u0627\u0632:<\/p>\n<p><strong>\u0628\u0631\u0627\u06cc \u0648\u06cc\u0646\u062f\u0648\u0632<\/strong>:<\/p>\n<p><strong>\u0628\u0631\u0627\u06cc \u0645\u06a9 \u0648 \u0644\u06cc\u0646\u0648\u06a9\u0633<\/strong>:<\/p>\n<p>\u0628\u0631\u062e\u06cc \u0627\u0632 \u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644 \u0647\u0627\u06cc \u0646\u0635\u0628 \u0628\u0631\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641 \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0627\u0633\u062a <strong>\u06a9\u062a\u0627\u0628 \u06a9\u0634\u0641<\/strong>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%9B%A0_%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D8%B3%D8%AE%D8%AA_%D8%A7%D9%81%D8%B2%D8%A7%D8%B1\"><\/span>\n<p>  \ud83d\udee0 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0633\u062e\u062a \u0627\u0641\u0632\u0627\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%F0%9F%A7%B0_%D9%85%D9%88%D8%A7%D8%AF\"><\/span>\n<p>  \ud83e\uddf0 \u0645\u0648\u0627\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p><\/p>\n<h4><span class=\"ez-toc-section\" id=\"%F0%9F%94%8C_%D8%A7%D8%AA%D8%B5%D8%A7%D9%84%D8%A7%D8%AA\"><\/span>\n<p>  <strong>\ud83d\udd0c \u0627\u062a\u0635\u0627\u0644\u0627\u062a<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u062e\u0627\u0631\u062c\u06cc \u0646\u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f.  \u0627\u062a\u0635\u0627\u0644\u0627\u062a Nucleo-F401RE \u0631\u0648\u06cc \u0628\u0631\u062f \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0642\u0631\u0627\u0631 \u062e\u0648\u0627\u0647\u062f \u06af\u0631\u0641\u062a \u0648 \u0634\u0627\u0645\u0644 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>\u062e\u0637 UART Tx \u06a9\u0647 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u067e\u0644 USB \u062f\u0627\u062e\u0644\u06cc \u0628\u0647 \u0631\u0627\u06cc\u0627\u0646\u0647 \u0634\u062e\u0635\u06cc \u0645\u062a\u0635\u0644 \u0645\u06cc \u0634\u0648\u062f \u0627\u0632 \u0637\u0631\u06cc\u0642 \u067e\u06cc\u0646 PA2 \u0631\u0648\u06cc \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631 \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u06cc\u06a9 \u067e\u06cc\u0646 \u0633\u062e\u062a \u0633\u06cc\u0645\u06cc \u0627\u0633\u062a\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0646\u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0647\u06cc\u0686 \u067e\u06cc\u0646 \u062f\u06cc\u06af\u0631\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u062a\u0646\u0638\u06cc\u0645 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.  \u0645\u06af\u0631 \u0627\u06cc\u0646\u06a9\u0647 \u0627\u0632 \u0628\u0631\u062f \u062f\u06cc\u06af\u0631\u06cc \u063a\u06cc\u0631 \u0627\u0632 Nucleo-F401RE \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0628\u0627\u06cc\u062f \u0627\u0633\u0646\u0627\u062f \u0645\u0631\u0628\u0648\u0637\u0647 (\u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0645\u0631\u062c\u0639 \u06cc\u0627 \u0628\u0631\u06af\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062a) \u0631\u0627 \u0628\u0631\u0627\u06cc \u062a\u0639\u06cc\u06cc\u0646 \u062a\u0639\u062f\u0627\u062f \u067e\u06cc\u0646 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%91%A8%E2%80%8D%F0%9F%8E%A8_%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C_%D9%86%D8%B1%D9%85_%D8%A7%D9%81%D8%B2%D8%A7%D8%B1\"><\/span>\n<p>  <strong>\ud83d\udc68\u200d\ud83c\udfa8 \u0637\u0631\u0627\u062d\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u06cc\u06a9 \u0641\u0631\u0633\u062a\u0646\u062f\u0647 UART \u0633\u0627\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0627\u0631\u0647\u0627 \u0648 \u0628\u0627\u0631\u0647\u0627 \u0647\u0645\u0627\u0646 \u0646\u0627\u0645\u0647 \u0631\u0627 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u0627 \u062f\u0631 \u0633\u0637\u062d PAC \u062f\u0631 \u062d\u0627\u0644 \u062a\u0648\u0633\u0639\u0647 \u0647\u0633\u062a\u06cc\u0645\u060c \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u0645 \u0645\u0631\u0627\u062d\u0644 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0648 \u0639\u0645\u0644\u06cc\u0627\u062a \u0631\u0627 \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627 \u067e\u0648\u0634\u0634 \u062f\u0647\u0645.  \u062e\u0648\u0634\u0628\u062e\u062a\u0627\u0646\u0647\u060c \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0645\u0631\u062c\u0639 STM32F4 \u0645\u0631\u0627\u062d\u0644 \u0627\u0646\u062a\u0642\u0627\u0644 \u06cc\u06a9 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u0631\u0627 \u062f\u0631 \u0627\u062e\u062a\u06cc\u0627\u0631 \u0645\u0627 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<ol>\n<li>\n<p>\u0628\u0627 \u0646\u0648\u0634\u062a\u0646 \u0628\u06cc\u062a UE \u062f\u0631 \u062b\u0628\u062a \u0646\u0627\u0645 USART_CR1 \u0631\u0648\u06cc 1\u060c USART \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p>\u0628\u06cc\u062a M \u0631\u0627 \u062f\u0631 USART_CR1 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0637\u0648\u0644 \u06a9\u0644\u0645\u0647 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p>\u062a\u0639\u062f\u0627\u062f \u0628\u06cc\u062a \u0647\u0627\u06cc \u062a\u0648\u0642\u0641 \u0631\u0627 \u062f\u0631 USART_CR2 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0631\u062c\u06cc\u0633\u062a\u0631 USART_BRR \u0646\u0631\u062e \u0628\u0627\u0648\u062f \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p>\u0628\u06cc\u062a TE \u0631\u0627 \u062f\u0631 USART_CR1 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0641\u0631\u0633\u062a\u0646\u062f\u0647 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u062f (\u06cc\u06a9 \u0641\u0631\u06cc\u0645 \u063a\u06cc\u0631\u0641\u0639\u0627\u0644 \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0627\u0648\u0644\u06cc\u0646 \u0627\u0646\u062a\u0642\u0627\u0644 \u0645\u06cc \u0641\u0631\u0633\u062a\u062f).<\/p>\n<\/li>\n<li>\n<p>\u062f\u0627\u062f\u0647 \u0647\u0627\u06cc \u0627\u0631\u0633\u0627\u0644\u06cc \u0631\u0627 \u062f\u0631 \u0631\u062c\u06cc\u0633\u062a\u0631 USART_DR \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f (\u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u06cc\u062a TXE \u067e\u0627\u06a9 \u0645\u06cc \u0634\u0648\u062f).  \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0647\u0631 \u062f\u0627\u062f\u0647 \u0627\u06cc \u06a9\u0647 \u0642\u0631\u0627\u0631 \u0627\u0633\u062a \u0627\u0631\u0633\u0627\u0644 \u0634\u0648\u062f \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/li>\n<li>\n<p>\u067e\u0633 \u0627\u0632 \u0646\u0648\u0634\u062a\u0646 \u0622\u062e\u0631\u06cc\u0646 \u062f\u0627\u062f\u0647 \u062f\u0631 \u0631\u062c\u06cc\u0633\u062a\u0631 USART_DR\u060c \u062a\u0627 TC=1 \u0635\u0628\u0631 \u06a9\u0646\u06cc\u062f.  \u0627\u06cc\u0646 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0627\u0646\u062a\u0642\u0627\u0644 \u0622\u062e\u0631\u06cc\u0646 \u0641\u0631\u06cc\u0645 \u06a9\u0627\u0645\u0644 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<\/li>\n<\/ol>\n<blockquote>\n<p><strong>\ud83d\udcdd \u062a\u0648\u062c\u0647<\/strong>: \u0645\u0646 \u0645\u0631\u0627\u062d\u0644\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0636\u0631\u0648\u0631\u06cc \u0646\u06cc\u0633\u062a\u0646\u062f \u062d\u0630\u0641 \u0645\u06cc \u06a9\u0646\u0645.  \u0627\u06cc\u0646 \u0634\u0627\u0645\u0644 \u062a\u0646\u0638\u06cc\u0645 \u06cc\u06a9 DMA \u0648 \u0648\u0642\u0641\u0647 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<\/blockquote>\n<p>\u0628\u0627 \u0627\u06cc\u0646 \u062d\u0627\u0644\u060c \u0642\u0628\u0644 \u0627\u0632 \u0645\u0648\u0627\u0631\u062f \u0641\u0648\u0642\u060c \u0628\u0627\u06cc\u062f \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u0645 \u06a9\u0647 \u0633\u0627\u0639\u062a \u0647\u0627 \u0648 \u067e\u06cc\u0646 \u0647\u0627 \u0631\u0627 \u0628\u0647 \u062f\u0631\u0633\u062a\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0631\u062f\u0647 \u0627\u06cc\u0645.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%91%A8%E2%80%8D%F0%9F%92%BB_%D9%BE%DB%8C%D8%A7%D8%AF%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D8%AF\"><\/span>\n<p>  <strong>\ud83d\udc68\u200d\ud83d\udcbb \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u062f<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%93%A5_%D9%88%D8%A7%D8%B1%D8%AF%D8%A7%D8%AA_%D8%AC%D8%B9%D8%A8%D9%87\"><\/span>\n<p>  \ud83d\udce5 \u0648\u0627\u0631\u062f\u0627\u062a \u062c\u0639\u0628\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0627\u062c\u0631\u0627 \u0633\u0647 \u062c\u0639\u0628\u0647 \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a:<\/p>\n<ul>\n<li>\n<p>\u0631\u0627 <code>cortex_m_rt<\/code> \u062c\u0639\u0628\u0647 \u0628\u0631\u0627\u06cc \u06a9\u062f \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0648 \u062d\u062f\u0627\u0642\u0644 \u0632\u0645\u0627\u0646 \u0627\u062c\u0631\u0627 \u0628\u0631\u0627\u06cc \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631\u0647\u0627\u06cc Cortex-M.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 <code>cortex_m<\/code> \u062c\u0639\u0628\u0647 \u0628\u0631\u0627\u06cc \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 API \u0645\u062d\u06cc\u0637\u06cc Cortex-m.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 <code>panic_halt<\/code> \u062c\u0639\u0628\u0647 \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0631\u0641\u062a\u0627\u0631 \u0648\u062d\u0634\u062a \u0632\u062f\u06af\u06cc \u0628\u0631\u0627\u06cc \u062a\u0648\u0642\u0641 \u062f\u0631 \u0647\u0631\u0627\u0633.<\/p>\n<\/li>\n<li>\n<p>\u0631\u0627 <code>stm32f4xx_pac<\/code> \u062c\u0639\u0628\u0647 \u0628\u0631\u0627\u06cc \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u062f\u0633\u062a\u06af\u0627\u0647 \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631 STM32F401 PAC API \u06a9\u0647 \u062f\u0631 <strong>\u0627\u0648\u0644\u06cc\u0646 \u067e\u0633\u062a<\/strong> \u062f\u0631 \u0627\u06cc\u0646 \u0633\u0631\u06cc\u0627\u0644<\/p>\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">cortex_m_rt<\/span><span class=\"p\">::<\/span><span class=\"n\">entry<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"n\">cortex_m<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"n\">panic_halt<\/span> <span class=\"k\">as<\/span> <span class=\"n\">_<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"n\">stm32f401_pac<\/span> <span class=\"k\">as<\/span> <span class=\"n\">pac<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%8E%9B_%DA%A9%D8%AF_%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA_%D8%AC%D8%A7%D9%86%D8%A8%DB%8C\"><\/span>\n<p>  <strong>\ud83c\udf9b \u06a9\u062f \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u062c\u0627\u0646\u0628\u06cc<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>1- \u06cc\u06a9 \u062f\u0633\u062a\u0647 \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 \u0648 \u062a\u062c\u0647\u06cc\u0632\u0627\u062a \u062c\u0627\u0646\u0628\u06cc \u0647\u0633\u062a\u0647 \u062a\u0647\u06cc\u0647 \u06a9\u0646\u06cc\u062f<\/strong>: \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u0647\u0645\u06cc\u0634\u0647 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u06cc\u0645 \u0648 \u0628\u062e\u0634\u06cc \u0627\u0632 \u0627\u0644\u06af\u0648\u06cc singleton \u062f\u0631 Rust \u062a\u0639\u0628\u06cc\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0647\u0631 \u062b\u0628\u062a \u062c\u0627\u0646\u0628\u06cc \u06cc\u0627 \u0647\u0633\u062a\u0647 \u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0634\u0648\u062f.  \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0645\u0646 \u06cc\u06a9 \u062f\u0633\u062a\u06af\u0627\u0647 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u0646\u062f\u0647 \u062c\u0627\u0646\u0628\u06cc \u0628\u0647 \u0646\u0627\u0645 \u0627\u06cc\u062c\u0627\u062f \u0645\u06cc \u06a9\u0646\u0645 <code>dp<\/code> \u0648 core peripheral handler \u0628\u0647 \u0646\u0627\u0645 <code>cp<\/code> \u0628\u0647 \u0634\u0631\u062d \u0632\u06cc\u0631 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">let<\/span> <span class=\"n\">dp<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">pac<\/span><span class=\"p\">::<\/span><span class=\"nn\">Peripherals<\/span><span class=\"p\">::<\/span><span class=\"nf\">take<\/span><span class=\"p\">()<\/span><span class=\"nf\">.unwrap<\/span><span class=\"p\">();<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0647\u060c \u0628\u0647 \u062a\u062c\u0647\u06cc\u0632\u0627\u062a \u062c\u0627\u0646\u0628\u06cc \u062f\u0633\u062a\u06af\u0627\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u0634\u062a.<\/p>\n<p><strong>2- \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0627\u0639\u062a \u0647\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645:<\/strong> \u0645\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0633\u0627\u0639\u062a \u0631\u0627 \u0627\u0632 \u0631\u0648\u06cc \u0633\u0627\u062f\u0647 \u06a9\u0631\u062f\u0645 <strong>\u0622\u062e\u0631\u06cc\u0646 \u067e\u0633\u062a<\/strong> \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u0646 \u0641\u0642\u0637 \u0627\u0632 \u0627\u0633\u06cc\u0644\u0627\u062a\u0648\u0631 \u062f\u0627\u062e\u0644\u06cc HSI \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u0645.  \u0646\u0648\u0633\u0627\u0646 \u0633\u0627\u0632 \u062f\u0627\u062e\u0644\u06cc HSI \u062f\u0627\u0631\u0627\u06cc \u0645\u0642\u062f\u0627\u0631 16 \u0645\u06af\u0627\u0647\u0631\u062a\u0632 \u0627\u0633\u062a.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"c1\">\/\/ Enable HSI Oscillator<\/span>\n<span class=\"n\">dp<\/span><span class=\"py\">.RCC.cr<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.hsion<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">());<\/span>\n\n<span class=\"c1\">\/\/ Wait for HSI clock to become ready<\/span>\n<span class=\"k\">while<\/span> <span class=\"n\">dp<\/span><span class=\"py\">.RCC.cr<\/span><span class=\"nf\">.read<\/span><span class=\"p\">()<\/span><span class=\"nf\">.hsirdy<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bit<\/span><span class=\"p\">()<\/span> <span class=\"p\">{}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>3- Clocks \u0628\u0647 GPIO \u0648 USART Peripheral \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/strong> \u0642\u0628\u0644 \u0627\u0632 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0647\u0631 \u0648\u0633\u06cc\u0644\u0647 \u062c\u0627\u0646\u0628\u06cc\u060c \u0633\u0627\u0639\u062a \u0622\u0646\u0647\u0627 \u0628\u0627\u06cc\u062f \u0641\u0639\u0627\u0644 \u0628\u0627\u0634\u062f.  \u0627\u06cc\u0646 \u0647\u0645 \u0628\u0631\u0627\u06cc GPIO \u0648 \u0647\u0645 \u0628\u0631\u0627\u06cc UART \u0635\u062f\u0642 \u0645\u06cc \u06a9\u0646\u062f.  \u062f\u0631 \u067e\u0633\u062a \u0642\u0628\u0644\u06cc GPIO\u060c \u062f\u06cc\u062f\u06cc\u0645 \u06a9\u0647 \u0633\u0627\u0639\u062a GPIOA \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0622\u0646 \u0641\u0639\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f <code>gpioaen<\/code> \u0645\u06cc\u062f\u0627\u0646 \u062f\u0631 <code>RCC_AHB1ENR<\/code> \u062b\u0628\u062a \u0646\u0627\u0645.  \u0627\u0632 \u0633\u0648\u06cc \u062f\u06cc\u06af\u0631\u060c USART2 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0641\u0639\u0627\u0644 \u0645\u06cc \u0634\u0648\u062f <code>usart2en<\/code> \u0645\u06cc\u062f\u0627\u0646 \u062f\u0631 <code>RCC_APB1ENR<\/code> \u062b\u0628\u062a \u0646\u0627\u0645.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"c1\">\/\/ Enable Clock to GPIOA<\/span>\n<span class=\"n\">dp<\/span><span class=\"py\">.RCC.ahb1enr<\/span><span class=\"nf\">.write<\/span><span class=\"p\">(|<\/span><span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.gpioaen<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">());<\/span>\n\n<span class=\"c1\">\/\/ Enable Clock to USART2<\/span>\n<span class=\"n\">dp<\/span><span class=\"py\">.RCC.apb1enr<\/span><span class=\"nf\">.write<\/span><span class=\"p\">(|<\/span><span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.usart2en<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">());<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>4- \u067e\u06cc\u0646 \u062e\u0631\u0648\u062c\u06cc USART Tx \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f:<\/strong> \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 PA2 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u067e\u0627\u06cc\u0647 \u0627\u0646\u062a\u0642\u0627\u0644 UART\u060c \u0628\u0627\u06cc\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u062e\u0631\u0648\u062c\u06cc \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u0648\u062f.  \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u062a\u0627\u0628\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0628\u0627\u06cc\u062f \u0628\u0631\u0627\u06cc \u0627\u062a\u0635\u0627\u0644 \u0628\u0647 USART2 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u0648\u062f.  \u067e\u06cc\u0646 PA2 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u062e\u0631\u0648\u062c\u06cc \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u062f\u0631 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u062f\u0647 \u0627\u0633\u062a <code>GPIOA_MODER<\/code> \u062b\u0628\u062a \u0646\u0627\u0645.  \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 \u0627\u06cc\u0646\u060c \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 \u062a\u0627\u0628\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645 <code>afrl2<\/code> \u0645\u06cc\u062f\u0627\u0646 \u062f\u0631 <code>GPIOA_AFRL<\/code> \u062b\u0628\u062a \u062a\u0627\u0628\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646  \u0637\u0628\u0642 \u062f\u06cc\u062a\u0627\u0634\u06cc\u062a\u060c afrl2 \u0628\u0627\u06cc\u062f \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 7 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0634\u0648\u062f \u062a\u0627 \u0628\u0647 USART2 \u0645\u062a\u0635\u0644 \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"c1\">\/\/ Configure PA2 as Alternate Output<\/span>\n<span class=\"n\">dp<\/span><span class=\"py\">.GPIOA.moder<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"k\">unsafe<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.moder2<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bits<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">)<\/span> <span class=\"p\">});<\/span>\n<span class=\"c1\">\/\/ Select Alternate Function for PA2<\/span>\n<span class=\"n\">dp<\/span><span class=\"py\">.GPIOA.afrl<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"k\">unsafe<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.afrl2<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bits<\/span><span class=\"p\">(<\/span><span class=\"mi\">7<\/span><span class=\"p\">)<\/span> <span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<blockquote>\n<p><strong>\ud83d\udcdd \u062a\u0648\u062c\u0647<\/strong>: \u062f\u0631 \u0645\u0648\u0627\u0631\u062f\u06cc \u06a9\u0647 <code>modify<\/code> \u0628\u0647 \u062c\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f <code>write<\/code>\u060c \u0627\u06cc\u0646 \u0628\u062e\u0627\u0637\u0631 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 <code>write<\/code> \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0628\u0647 \u0635\u0631\u0627\u062d\u062a \u062a\u0646\u0638\u06cc\u0645 \u0646\u0634\u062f\u0647 \u0627\u0646\u062f \u0628\u0627\u0632\u0646\u0634\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.  \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u06cc\u062a\u200c\u0647\u0627\u06cc \u062e\u0627\u0635\u06cc \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u062b\u0628\u062a\u200c\u06a9\u0646\u0646\u062f\u0647 \u0628\u062f\u0648\u0646 \u062a\u0623\u062b\u06cc\u0631\u06af\u0630\u0627\u0631\u06cc \u0628\u0631 \u062f\u06cc\u06af\u0631\u0627\u0646 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u062f\u060c \u0628\u0627\u06cc\u062f \u0627\u0632 \u0622\u0646 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f <code>modify<\/code> \u0628\u0647 \u062c\u0627\u06cc <code>write<\/code>.<\/p>\n<\/blockquote>\n<p><strong>4- USART2 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/strong> \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627 \u0628\u06cc\u0627\u0646 \u0628\u06cc\u062a UE \u062f\u0631 \u0642\u0633\u0645\u062a \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f <code>USART2_CR1<\/code> \u062b\u0628\u062a \u0646\u0627\u0645.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/03\/STM32F4-Embedded-Rust-\u062f\u0631-PAC-UART-Communication.png\" alt=\"\u06cc\u06a9\u0633\u0648 \u06a9\u0646\u0646\u062f\u0647 CR1\" loading=\"lazy\" width=\"880\" height=\"143\" title=\"\"><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"c1\">\/\/ Enable USART2 by setting the UE bit in USART_CR1 register<\/span>\n<span class=\"n\">dp<\/span><span class=\"py\">.USART2.cr1<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.ue<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">()});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>5- \u0637\u0648\u0644 \u06a9\u0644\u0645\u0647 \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f<\/strong> <strong>\u062f\u0631 USART_CR1:<\/strong> M-bit \u062f\u0631 CR1 \u062f\u0648 \u06af\u0632\u06cc\u0646\u0647 \u0628\u0631\u0627\u06cc \u0637\u0648\u0644 \u06a9\u0644\u0645\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f \u06cc\u0627 \u06cc\u06a9 \u0628\u06cc\u062a \u0634\u0631\u0648\u0639\u060c 8 \u0628\u06cc\u062a \u062f\u0627\u062f\u0647\u060c n \u06af\u0632\u06cc\u0646\u0647 \u062a\u0648\u0642\u0641 \u0628\u06cc\u062a (\u067e\u06cc\u0634 \u0641\u0631\u0636) \u06cc\u0627 \u06cc\u06a9 \u0628\u06cc\u062a \u0634\u0631\u0648\u0639\u060c 9 \u0628\u06cc\u062a \u062f\u0627\u062f\u0647\u060c n \u0628\u06cc\u062a \u062a\u0648\u0642\u0641.  \u0627\u0632 \u0622\u0646\u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u0646 8 \u0628\u06cc\u062a \u062f\u0627\u062f\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u0645\u060c \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u06cc\u0633\u062a.<\/p>\n<p><strong>6- \u062a\u0639\u062f\u0627\u062f \u0628\u06cc\u062a \u0647\u0627\u06cc \u0627\u0633\u062a\u0627\u067e \u0631\u0627 \u062f\u0631 USART_CR2 \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u06cc\u0632\u06cc \u06a9\u0646\u06cc\u062f:<\/strong> \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0627\u0632 \u0637\u0631\u06cc\u0642 \u0641\u06cc\u0644\u062f STOP \u062f\u0631 CR2 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f \u06a9\u0647 2 \u0628\u06cc\u062a \u0639\u0631\u0636 \u062f\u0627\u0631\u062f.  \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u067e\u06cc\u0634 \u0641\u0631\u0636 <code>0b00<\/code> \u0639\u0645\u0644\u06a9\u0631\u062f 1 \u0627\u0633\u062a\u0627\u067e \u0628\u06cc\u062a \u0631\u0627 \u0645\u0646\u0639\u06a9\u0633 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0627\u0632 \u0647\u0645 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0646\u06cc\u0627\u0632\u06cc \u0628\u0647 \u062a\u063a\u06cc\u06cc\u0631 \u0686\u06cc\u0632\u06cc \u0646\u06cc\u0633\u062a.<\/p>\n<p><strong>7- \u0646\u0631\u062e Baud \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f:<\/strong> \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 <code>USART_BRR<\/code> \u062b\u0628\u062a \u0646\u0627\u0645 \u06a9\u0646\u06cc\u062f \u0648 \u06a9\u0645\u06cc \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631\u06af\u06cc\u0631 \u0627\u0633\u062a.  \u062b\u0628\u0627\u062a BRR \u062f\u0631 \u0648\u0627\u0642\u0639 \u062f\u0627\u0631\u0627\u06cc \u062f\u0648 \u0641\u06cc\u0644\u062f \u0627\u0633\u062a \u06a9\u0647 \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u0636\u0631\u06cc\u0628 \u062a\u0642\u0633\u06cc\u0645 USART \u0627\u0633\u062a <code>USARTDIV<\/code>;  \u06cc\u06a9\u06cc \u0627\u0633\u062a <code>DIV_Mantissa<\/code> \u06a9\u0647 \u0639\u0631\u0636 \u0622\u0646 12 \u0628\u06cc\u062a \u0627\u0633\u062a \u0648 \u062f\u06cc\u06af\u0631\u06cc \u0622\u0646 \u0627\u0633\u062a <code>DIV_Fraction<\/code> \u06a9\u0647 \u0639\u0631\u0636 \u0622\u0646 4 \u0628\u06cc\u062a \u0627\u0633\u062a.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nabfollower.com\/blog\/wp-content\/uploads\/2023\/03\/1678243847_438_STM32F4-Embedded-Rust-\u062f\u0631-PAC-UART-Communication.png\" alt=\"\u062b\u0628\u062a \u0646\u0627\u0645 brr\" loading=\"lazy\" width=\"880\" height=\"143\" title=\"\"><\/p>\n<p>\u06a9\u062a\u0627\u0628\u0686\u0647 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0645\u0631\u062c\u0639 \u062f\u0631 \u0648\u0627\u0642\u0639 \u0641\u0631\u0645\u0648\u0644\u06cc \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0633\u0628\u0647 \u0627\u06cc\u0646 \u0645\u0642\u0627\u062f\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0646\u0631\u062e \u0628\u0627\u0648\u062f \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f:<\/p>\n<div class=\"katex-element\">\n  <span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"block\"><semantics><mrow><mi>\u062a\u06cc<\/mi><mi>\u0627\u06cc\u06a9\u0633<\/mi><mi>\u0622\u0631<\/mi><msub><mi>\u0627\u06cc\u06a9\u0633<\/mi><mrow><mi>\u0628<\/mi><mi>\u0622<\/mi><mi>\u062a\u0648<\/mi><mi>\u062f<\/mi><\/mrow><\/msub><mo>=<\/mo><mfrac><msub><mi>f<\/mi><mrow><mi>\u062c<\/mi><mi>\u0644<\/mi><mi>\u06a9<\/mi><\/mrow><\/msub><mrow><mn>8<\/mn><mo>\u00d7<\/mo><mo stretchy=\"false\">(<\/mo><mn>2<\/mn><mo>&#8211;<\/mo><mtext>\u0628\u06cc\u0634 \u0627\u0632 8<\/mtext><mo stretchy=\"false\">)<\/mo><mo>\u00d7<\/mo><mtext>USARTDIV<\/mtext><\/mrow><\/mfrac><\/mrow><annotation encoding=\"application\/x-tex\">TxRx_{baud} = \\frac{f_{clk}}{8 \\times (2 &#8211; \\text{OVER8}) \\times \\text{USARTDIV}} <\/annotation><\/semantics><\/math><\/span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"\/><span class=\"mord mathnormal\" style=\"margin-right:0.13889em;\">\u062a\u06cc<\/span><span class=\"mord mathnormal\">\u0627\u06cc\u06a9\u0633<\/span><span class=\"mord mathnormal\" style=\"margin-right:0.00773em;\">\u0622\u0631<\/span><span class=\"mord\"><span class=\"mord mathnormal\">\u0627\u06cc\u06a9\u0633<\/span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3361em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"\/><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\">ba<\/span><span class=\"mord mathnormal mtight\">\u062a\u0648<\/span><span class=\"mord mathnormal mtight\">\u062f<\/span><\/span><\/span><\/span><\/span><span class=\"vlist-s\">\u0631\u0627<\/span><\/span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span\/><\/span><\/span><\/span><\/span><\/span><span class=\"mspace\" style=\"margin-right:0.2778em;\"\/><span class=\"mrel\">=<\/span><span class=\"mspace\" style=\"margin-right:0.2778em;\"\/><\/span><span class=\"base\"><span class=\"strut\" style=\"height:2.3074em;vertical-align:-0.936em;\"\/><span class=\"mord\"><span class=\"mopen nulldelimiter\"\/><span class=\"mfrac\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:1.3714em;\"><span style=\"top:-2.314em;\"><span class=\"pstrut\" style=\"height:3em;\"\/><span class=\"mord\"><span class=\"mord\">8<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mbin\">\u00d7<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mopen\">(<\/span><span class=\"mord\">2<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mbin\">&#8211;<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mord text\"><span class=\"mord\">\u0628\u06cc\u0634 \u0627\u0632 8<\/span><\/span><span class=\"mclose\">)<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mbin\">\u00d7<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mord text\"><span class=\"mord\">USARTDIV<\/span><\/span><\/span><\/span><span style=\"top:-3.23em;\"><span class=\"pstrut\" style=\"height:3em;\"\/><span class=\"frac-line\" style=\"border-bottom-width:0.04em;\"\/><\/span><span style=\"top:-3.677em;\"><span class=\"pstrut\" style=\"height:3em;\"\/><span class=\"mord\"><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.10764em;\">f<\/span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3361em;\"><span style=\"top:-2.55em;margin-left:-0.1076em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"\/><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\">\u062c<\/span><span class=\"mord mathnormal mtight\" style=\"margin-right:0.01968em;\">\u0644<\/span><span class=\"mord mathnormal mtight\" style=\"margin-right:0.03148em;\">\u06a9<\/span><\/span><\/span><\/span><\/span><span class=\"vlist-s\">\u0631\u0627<\/span><\/span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span\/><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><span class=\"vlist-s\">\u0631\u0627<\/span><\/span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.936em;\"><span\/><\/span><\/span><\/span><\/span><span class=\"mclose nulldelimiter\"\/><\/span><\/span><\/span><\/span><\/span>\n<\/div>\n<p>\u062c\u0627\u06cc\u06cc \u06a9\u0647 fclk \u0641\u0631\u06a9\u0627\u0646\u0633 \u0633\u0627\u0639\u062a USART \u0627\u0633\u062a\u060c <code>OVER8<\/code> \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0628\u0631\u0627\u06cc \u0646\u0645\u0648\u0646\u0647 \u0628\u0631\u062f\u0627\u0631\u06cc \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.  \u0627\u0632 \u0622\u0646\u062c\u0627 \u06a9\u0647 <code>USARTDIV<\/code> \u062f\u0627\u0631\u0627\u06cc 4 \u0628\u06cc\u062a \u06a9\u0633\u0631\u06cc \u0627\u0633\u062a\u060c \u0645\u0639\u0627\u062f\u0644\u0647 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0631\u062f:<\/p>\n<div class=\"katex-element\">\n  <span class=\"katex-display\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http:\/\/www.w3.org\/1998\/Math\/MathML\" display=\"block\"><semantics><mrow><mi>\u062a\u06cc<\/mi><mi>\u0627\u06cc\u06a9\u0633<\/mi><mi>\u0622\u0631<\/mi><msub><mi>\u0627\u06cc\u06a9\u0633<\/mi><mrow><mi>\u0628<\/mi><mi>\u0622<\/mi><mi>\u062a\u0648<\/mi><mi>\u062f<\/mi><\/mrow><\/msub><mo>=<\/mo><mfrac><mrow><msub><mi>f<\/mi><mrow><mi>\u062c<\/mi><mi>\u0644<\/mi><mi>\u06a9<\/mi><\/mrow><\/msub><mo>\u00d7<\/mo><mn>16<\/mn><\/mrow><mrow><mn>8<\/mn><mo>\u00d7<\/mo><mo stretchy=\"false\">(<\/mo><mn>2<\/mn><mo>&#8211;<\/mo><mtext>\u0628\u06cc\u0634 \u0627\u0632 8<\/mtext><mo stretchy=\"false\">)<\/mo><mo>\u00d7<\/mo><mtext>USARTDIV<\/mtext><\/mrow><\/mfrac><\/mrow><annotation encoding=\"application\/x-tex\">TxRx_{baud} = \\frac{f_{clk} \\times 16}{8 \\times (2 &#8211; \\text{OVER8}) \\times \\text{USARTDIV}}<\/annotation><\/semantics><\/math><\/span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8333em;vertical-align:-0.15em;\"\/><span class=\"mord mathnormal\" style=\"margin-right:0.13889em;\">\u062a\u06cc<\/span><span class=\"mord mathnormal\">\u0627\u06cc\u06a9\u0633<\/span><span class=\"mord mathnormal\" style=\"margin-right:0.00773em;\">\u0622\u0631<\/span><span class=\"mord\"><span class=\"mord mathnormal\">\u0627\u06cc\u06a9\u0633<\/span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3361em;\"><span style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"\/><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\">ba<\/span><span class=\"mord mathnormal mtight\">\u062a\u0648<\/span><span class=\"mord mathnormal mtight\">\u062f<\/span><\/span><\/span><\/span><\/span><span class=\"vlist-s\">\u0631\u0627<\/span><\/span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span\/><\/span><\/span><\/span><\/span><\/span><span class=\"mspace\" style=\"margin-right:0.2778em;\"\/><span class=\"mrel\">=<\/span><span class=\"mspace\" style=\"margin-right:0.2778em;\"\/><\/span><span class=\"base\"><span class=\"strut\" style=\"height:2.3074em;vertical-align:-0.936em;\"\/><span class=\"mord\"><span class=\"mopen nulldelimiter\"\/><span class=\"mfrac\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:1.3714em;\"><span style=\"top:-2.314em;\"><span class=\"pstrut\" style=\"height:3em;\"\/><span class=\"mord\"><span class=\"mord\">8<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mbin\">\u00d7<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mopen\">(<\/span><span class=\"mord\">2<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mbin\">&#8211;<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mord text\"><span class=\"mord\">\u0628\u06cc\u0634 \u0627\u0632 8<\/span><\/span><span class=\"mclose\">)<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mbin\">\u00d7<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mord text\"><span class=\"mord\">USARTDIV<\/span><\/span><\/span><\/span><span style=\"top:-3.23em;\"><span class=\"pstrut\" style=\"height:3em;\"\/><span class=\"frac-line\" style=\"border-bottom-width:0.04em;\"\/><\/span><span style=\"top:-3.677em;\"><span class=\"pstrut\" style=\"height:3em;\"\/><span class=\"mord\"><span class=\"mord\"><span class=\"mord mathnormal\" style=\"margin-right:0.10764em;\">f<\/span><span class=\"msupsub\"><span class=\"vlist-t vlist-t2\"><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.3361em;\"><span style=\"top:-2.55em;margin-left:-0.1076em;margin-right:0.05em;\"><span class=\"pstrut\" style=\"height:2.7em;\"\/><span class=\"sizing reset-size6 size3 mtight\"><span class=\"mord mtight\"><span class=\"mord mathnormal mtight\">\u062c<\/span><span class=\"mord mathnormal mtight\" style=\"margin-right:0.01968em;\">\u0644<\/span><span class=\"mord mathnormal mtight\" style=\"margin-right:0.03148em;\">\u06a9<\/span><\/span><\/span><\/span><\/span><span class=\"vlist-s\">\u0631\u0627<\/span><\/span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.15em;\"><span\/><\/span><\/span><\/span><\/span><\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mbin\">\u00d7<\/span><span class=\"mspace\" style=\"margin-right:0.2222em;\"\/><span class=\"mord\">16<\/span><\/span><\/span><\/span><span class=\"vlist-s\">\u0631\u0627<\/span><\/span><span class=\"vlist-r\"><span class=\"vlist\" style=\"height:0.936em;\"><span\/><\/span><\/span><\/span><\/span><span class=\"mclose nulldelimiter\"\/><\/span><\/span><\/span><\/span><\/span>\n<\/div>\n<p><code>OVER8<\/code>  \u062f\u0631 \u0645\u0648\u0631\u062f \u0645\u0627 1 \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u06a9\u0647 \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f \u0646\u0645\u0648\u0646\u0647 \u06af\u06cc\u0631\u06cc \u0628\u0627 \u0636\u0631\u06cc\u0628 16 \u0627\u0633\u062a. \u062f\u0631 \u0622\u0646 \u0635\u0648\u0631\u062a\u060c \u0639\u0627\u0645\u0644 \u0645\u0634\u062a\u0631\u06a9 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u062d\u0630\u0641 \u06a9\u0631\u062f \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0628\u0647 \u0645\u0648\u0627\u0631\u062f \u0632\u06cc\u0631 \u0645\u06cc \u0631\u0633\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"c1\">\/\/ Program the UART Baud Rate<\/span>\n<span class=\"n\">dp<\/span><span class=\"py\">.USART2.brr<\/span><span class=\"nf\">.write<\/span><span class=\"p\">(|<\/span><span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"k\">unsafe<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.bits<\/span><span class=\"p\">(<\/span><span class=\"n\">FREQ<\/span> <span class=\"o\">\/<\/span> <span class=\"n\">BAUD<\/span><span class=\"p\">)<\/span> <span class=\"p\">});<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062a\u0639\u0631\u06cc\u0641 \u06a9\u0631\u062f\u0645 <code>FREQ<\/code> \u0648 <code>BAUD<\/code> \u062f\u0631 \u0627\u0628\u062a\u062f\u0627 \u062f\u0631 \u06a9\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062b\u0627\u0628\u062a \u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0641\u0631\u06a9\u0627\u0646\u0633 \u0633\u0627\u0639\u062a USART (\u062a\u0627\u0645\u06cc\u0646 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 PCLK1 \u0627\u0632 \u0637\u0631\u06cc\u0642 HSI) \u0648 \u0646\u0631\u062e \u0628\u0627\u0648\u062f \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u0631\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">const<\/span> <span class=\"n\">FREQ<\/span><span class=\"p\">:<\/span> <span class=\"nb\">u32<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">16_000_000<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">const<\/span> <span class=\"n\">BAUD<\/span><span class=\"p\">:<\/span> <span class=\"nb\">u32<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">115_200<\/span><span class=\"p\">;<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>8- \u0641\u0631\u0633\u062a\u0646\u062f\u0647 \u0631\u0627 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u062f:<\/strong> \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0627 \u062a\u0646\u0638\u06cc\u0645 \u0628\u06cc\u062a TE \u062f\u0631 USART2_CR1 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u0634\u0648\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"c1\">\/\/ Enable the Transmitter<\/span>\n<span class=\"n\">dp<\/span><span class=\"py\">.USART2.cr1<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.te<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">());<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%F0%9F%93%B1_%DA%A9%D8%AF_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87\"><\/span>\n<p>  <strong>\ud83d\udcf1 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647\u060c \u0645\u0627 \u06cc\u06a9 \u062d\u0644\u0642\u0647 \u0631\u0627\u0647\u200c\u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 A \u0631\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u06a9\u0631\u0631 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.  \u0628\u0631\u0627\u06cc \u0622\u0646\u060c \u0628\u0627\u06cc\u062f \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u0645\u060c \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645 <code>USART_DR<\/code> \u062b\u0628\u062a \u0646\u0627\u0645.  \u067e\u0633 \u0627\u0632 \u0622\u0646\u060c \u0628\u0627\u06cc\u062f \u0645\u0646\u062a\u0638\u0631 \u0628\u0645\u0627\u0646\u06cc\u0645 <code>TC<\/code> \u0645\u06cc\u062f\u0627\u0646 \u062f\u0631 <code>USART_SR<\/code> \u062b\u0628\u062a \u0648\u0636\u0639\u06cc\u062a \u0628\u0631\u0627\u06cc \u0628\u0627\u0644\u0627 \u0631\u0641\u062a\u0646 \u0646\u0634\u0627\u0646 \u062f\u0647\u0646\u062f\u0647 \u0627\u062a\u0645\u0627\u0645 \u0627\u0646\u062a\u0642\u0627\u0644\u060c \u0633\u067e\u0633 \u062d\u0644\u0642\u0647.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">loop<\/span> <span class=\"p\">{<\/span>\n     <span class=\"c1\">\/\/ Put Data in Data Register<\/span>\n     <span class=\"n\">dp<\/span><span class=\"py\">.USART2.dr<\/span><span class=\"nf\">.write<\/span><span class=\"p\">(|<\/span><span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"k\">unsafe<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.dr<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bits<\/span><span class=\"p\">(<\/span><span class=\"sc\">b'A'<\/span> <span class=\"k\">as<\/span> <span class=\"nb\">u16<\/span><span class=\"p\">)<\/span> <span class=\"p\">});<\/span>\n     <span class=\"c1\">\/\/ Wait for data to get transmitted<\/span>\n     <span class=\"k\">while<\/span> <span class=\"n\">dp<\/span><span class=\"py\">.USART2.sr<\/span><span class=\"nf\">.read<\/span><span class=\"p\">()<\/span><span class=\"nf\">.tc<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bit_is_clear<\/span><span class=\"p\">()<\/span> <span class=\"p\">{}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%93%80_%DA%A9%D8%AF_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%DA%A9%D8%A7%D9%85%D9%84\"><\/span>\n<p>  <strong>\ud83d\udcc0 \u06a9\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0645\u0644<\/strong><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06a9\u062f \u06a9\u0627\u0645\u0644 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u0634\u0631\u062d \u062f\u0627\u062f\u0647 \u0634\u062f\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0627\u0633\u062a.  \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u067e\u0631\u0648\u0698\u0647 \u06a9\u0627\u0645\u0644 \u0648 \u0633\u0627\u06cc\u0631 \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u062f\u0631 \u0622\u0646 \u0628\u06cc\u0627\u0628\u06cc\u062f <strong>apollolabsdev Nucleo-F401RE<\/strong> git repo.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"nd\">#![no_std]<\/span>\n<span class=\"nd\">#![no_main]<\/span>\n\n<span class=\"c1\">\/\/ Imports<\/span>\n<span class=\"k\">use<\/span> <span class=\"nn\">cortex_m_rt<\/span><span class=\"p\">::<\/span><span class=\"n\">entry<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"n\">panic_halt<\/span> <span class=\"k\">as<\/span> <span class=\"n\">_<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"n\">stm32f401_pac<\/span> <span class=\"k\">as<\/span> <span class=\"n\">pac<\/span><span class=\"p\">;<\/span>\n\n<span class=\"k\">const<\/span> <span class=\"n\">FREQ<\/span><span class=\"p\">:<\/span> <span class=\"nb\">u32<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">16_000_000<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">const<\/span> <span class=\"n\">BAUD<\/span><span class=\"p\">:<\/span> <span class=\"nb\">u32<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">115_200<\/span><span class=\"p\">;<\/span>\n\n<span class=\"nd\">#[entry]<\/span>\n<span class=\"k\">fn<\/span> <span class=\"nf\">main<\/span><span class=\"p\">()<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"o\">!<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ Setup handler for device peripherals<\/span>\n    <span class=\"k\">let<\/span> <span class=\"n\">dp<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">pac<\/span><span class=\"p\">::<\/span><span class=\"nn\">Peripherals<\/span><span class=\"p\">::<\/span><span class=\"nf\">take<\/span><span class=\"p\">()<\/span><span class=\"nf\">.unwrap<\/span><span class=\"p\">();<\/span>\n\n    <span class=\"c1\">\/\/ Enable HSI Oscillator<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.RCC.cr<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.hsion<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">());<\/span>\n\n    <span class=\"c1\">\/\/ Wait for HSI clock to become ready<\/span>\n    <span class=\"k\">while<\/span> <span class=\"n\">dp<\/span><span class=\"py\">.RCC.cr<\/span><span class=\"nf\">.read<\/span><span class=\"p\">()<\/span><span class=\"nf\">.hsirdy<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bit<\/span><span class=\"p\">()<\/span> <span class=\"p\">{}<\/span>\n\n    <span class=\"c1\">\/\/ Enable Clock to GPIOA<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.RCC.ahb1enr<\/span><span class=\"nf\">.write<\/span><span class=\"p\">(|<\/span><span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.gpioaen<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">());<\/span>\n\n    <span class=\"c1\">\/\/ Enable Clock to USART2<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.RCC.apb1enr<\/span><span class=\"nf\">.write<\/span><span class=\"p\">(|<\/span><span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.usart2en<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">());<\/span>\n\n    <span class=\"c1\">\/\/ Select Alternate Function for PA2<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.GPIOA.afrl<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"k\">unsafe<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.afrl2<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bits<\/span><span class=\"p\">(<\/span><span class=\"mi\">7<\/span><span class=\"p\">)<\/span> <span class=\"p\">});<\/span>\n\n    <span class=\"c1\">\/\/ Configure PA2 as Alternate Output<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.GPIOA.moder<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"k\">unsafe<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.moder2<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bits<\/span><span class=\"p\">(<\/span><span class=\"mi\">2<\/span><span class=\"p\">)<\/span> <span class=\"p\">});<\/span>\n\n    <span class=\"c1\">\/\/ Enable USART2 by setting the UE bit in USART_CR1 register<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.USART2.cr1<\/span><span class=\"nf\">.reset<\/span><span class=\"p\">();<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.USART2.cr1<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">w<\/span><span class=\"nf\">.ue<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">()<\/span> <span class=\"c1\">\/\/ USART enabled<\/span>\n    <span class=\"p\">});<\/span>\n\n    <span class=\"c1\">\/\/ Program the UART Baud Rate<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.USART2.brr<\/span><span class=\"nf\">.write<\/span><span class=\"p\">(|<\/span><span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"k\">unsafe<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.bits<\/span><span class=\"p\">(<\/span><span class=\"n\">FREQ<\/span> <span class=\"o\">\/<\/span> <span class=\"n\">BAUD<\/span><span class=\"p\">)<\/span> <span class=\"p\">});<\/span>\n\n    <span class=\"c1\">\/\/ Enable the Transmitter<\/span>\n    <span class=\"n\">dp<\/span><span class=\"py\">.USART2.cr1<\/span><span class=\"nf\">.modify<\/span><span class=\"p\">(|<\/span><span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.te<\/span><span class=\"p\">()<\/span><span class=\"nf\">.set_bit<\/span><span class=\"p\">());<\/span>\n\n    <span class=\"c1\">\/\/ Wait until TXE flag is set<\/span>\n    <span class=\"k\">while<\/span> <span class=\"n\">dp<\/span><span class=\"py\">.USART2.sr<\/span><span class=\"nf\">.read<\/span><span class=\"p\">()<\/span><span class=\"nf\">.txe<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bit_is_clear<\/span><span class=\"p\">()<\/span> <span class=\"p\">{}<\/span>\n\n    <span class=\"k\">loop<\/span> <span class=\"p\">{<\/span>\n        <span class=\"c1\">\/\/ Put Data in Data Register<\/span>\n        <span class=\"n\">dp<\/span><span class=\"py\">.USART2.dr<\/span><span class=\"nf\">.write<\/span><span class=\"p\">(|<\/span><span class=\"n\">w<\/span><span class=\"p\">|<\/span> <span class=\"k\">unsafe<\/span> <span class=\"p\">{<\/span> <span class=\"n\">w<\/span><span class=\"nf\">.dr<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bits<\/span><span class=\"p\">(<\/span><span class=\"sc\">b'A'<\/span> <span class=\"k\">as<\/span> <span class=\"nb\">u16<\/span><span class=\"p\">)<\/span> <span class=\"p\">});<\/span>\n        <span class=\"c1\">\/\/ Wait for data to get transmitted<\/span>\n        <span class=\"k\">while<\/span> <span class=\"n\">dp<\/span><span class=\"py\">.USART2.sr<\/span><span class=\"nf\">.read<\/span><span class=\"p\">()<\/span><span class=\"nf\">.tc<\/span><span class=\"p\">()<\/span><span class=\"nf\">.bit_is_clear<\/span><span class=\"p\">()<\/span> <span class=\"p\">{}<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%F0%9F%94%AC_%D8%A2%D8%B2%D9%85%D8%A7%DB%8C%D8%B4%D8%A7%DB%8C%D8%AF%D9%87_%D9%87%D8%A7%DB%8C_%D8%A8%DB%8C%D8%B4%D8%AA%D8%B1\"><\/span>\n<p>  \ud83d\udd2c \u0622\u0632\u0645\u0627\u06cc\u0634\/\u0627\u06cc\u062f\u0647 \u0647\u0627\u06cc \u0628\u06cc\u0634\u062a\u0631<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li>\u0628\u0631\u062f \u0631\u0627 \u0637\u0648\u0631\u06cc \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u06cc\u06a9 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u0631\u0627 \u0627\u0632 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0628\u0627\u0632\u062a\u0627\u0628 \u062f\u0647\u062f.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a\u060c \u06a9\u062f Rust \u0628\u0631\u0627\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u06cc\u06a9 \u062d\u0631\u0641 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0633\u062a\u06af\u0627\u0647 STM32 UART \u062c\u0627\u0646\u0628\u06cc \u0645\u0646\u062d\u0635\u0631\u0627\u064b \u062f\u0631 \u0633\u0637\u062d \u062c\u0639\u0628\u0647 \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u062d\u06cc\u0637\u06cc (PAC) \u062a\u0648\u0633\u0639\u0647 \u062f\u0627\u062f\u0647 \u0634\u062f.  \u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0628\u0631\u0627\u06cc \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631 STM32F401RE \u06a9\u0647 \u0628\u0631 \u0631\u0648\u06cc \u0628\u0631\u062f \u062a\u0648\u0633\u0639\u0647 Nucleo-F401RE \u0645\u0633\u062a\u0642\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u062a\u0648\u0633\u0639\u0647 \u06cc\u0627\u0641\u062a\u0647 \u0627\u0633\u062a.  \u0633\u0648\u0627\u0644\u06cc \u062f\u0627\u0631\u06cc\u062f\u061f  \u0646\u0638\u0631\u0627\u062a \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u0646\u0638\u0631\u0627\u062a \u0632\u06cc\u0631 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u06cc\u062f \ud83d\udc47.<\/p>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u0631\u0627 \u0645\u0641\u06cc\u062f \u062f\u06cc\u062f\u06cc\u062f\u060c \u0648 \u0628\u0631\u0627\u06cc \u0628\u0647\u200c\u0631\u0648\u0632 \u0645\u0627\u0646\u062f\u0646 \u0627\u0632 \u067e\u0633\u062a\u200c\u0647\u0627\u06cc \u0645\u0634\u0627\u0628\u0647\u060c \u0641\u0647\u0631\u0633\u062a \u06a9\u0627\u0646\u0627\u0644\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f\/\u0639\u0636\u0648 \u0634\u0648\u06cc\u062f \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0622\u0645\u062f\u0647 \u0627\u0633\u062a:<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ud83c\udfac \u0645\u0642\u062f\u0645\u0647 UART (\u06af\u06cc\u0631\u0646\u062f\u0647 \/ \u0641\u0631\u0633\u062a\u0646\u062f\u0647 \u0646\u0627\u0647\u0645\u0632\u0645\u0627\u0646 \u062c\u0647\u0627\u0646\u06cc) \u06cc\u06a9 \u067e\u0631\u0648\u062a\u06a9\u0644 \u0627\u0631\u062a\u0628\u0627\u0637\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0633\u0631\u06cc\u0627\u0644 \u0628\u06cc\u0646 \u062f\u0648 \u062f\u0633\u062a\u06af\u0627\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u0634\u0648\u062f. \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645\u200c\u0647\u0627\u06cc \u062a\u0639\u0628\u06cc\u0647\u200c\u0634\u062f\u0647\u060c UART \u0647\u0646\u0648\u0632 \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0628\u0631\u0627\u06cc \u0628\u0631\u0642\u0631\u0627\u0631\u06cc \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0627 \u062f\u0633\u062a\u06af\u0627\u0647\u200c\u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u0645\u0627\u0646\u0646\u062f \u0633\u0646\u0633\u0648\u0631\u0647\u0627\u060c \u0646\u0645\u0627\u06cc\u0634\u06af\u0631\u0647\u0627 \u0648 \u0633\u0627\u06cc\u0631 \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a\u060c \u0645\u0646 \u0628\u0627 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06cc\u06a9 \u0641\u0631\u0633\u062a\u0646\u062f\u0647 UART \u0633\u0627\u062f\u0647 \u062f\u0631 Rust &hellip;<\/p>\n","protected":false},"author":2,"featured_media":10807,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-10806","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/10806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=10806"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/10806\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/10807"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=10806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=10806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=10806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}