{"id":81531,"date":"2024-10-26T10:55:54","date_gmt":"2024-10-26T07:25:54","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/setup-uart-with-stm32f411re-l4\/"},"modified":"2024-10-26T10:55:54","modified_gmt":"2024-10-26T07:25:54","slug":"setup-uart-with-stm32f411re-l4","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/setup-uart-with-stm32f411re-l4\/","title":{"rendered":"Uart \u0631\u0627 \u0628\u0627 STM32F411RE &#8211; \u0627\u0646\u062c\u0645\u0646 DEV \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang <\/p>\n<p>  1. \u0628\u0644\u0648\u06a9 \u062f\u06cc\u0627\u06af\u0631\u0627\u0645 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0634\u06cc\u062a \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u0645\u0627 \u0627\u0632 \u0631\u0627\u0628\u0637 USART2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u0632\u06cc\u0631\u0627 \u0628\u0647 \u0647\u0645\u0627\u0646 \u06af\u0630\u0631\u06af\u0627\u0647 (APB1) \u0628\u0627 \u0631\u0627\u0628\u0637 \u0628\u0631\u0642 \u0645\u062a\u0635\u0644 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0627\u0632 \u0637\u0631\u06cc\u0642 USB \u0628\u0627 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0628\u062f\u0648\u0646 \u062f\u0627\u0634\u062a\u0646 \u062a\u0631\u0627\u0634\u0647 \u0628\u0631\u0627\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0627\u0632 UART \u0628\u0647 USB \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0646\u06cc\u0645. <\/p>\n<p>  2. \u062a\u0627\u0628\u0639 \u0627\u0631\u0633\u0627\u0644 UART \u0631\u0627 \u0628\u0647 USB \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f<\/p>\n<p>\u0646\u06af\u0627\u0634\u062a \u062a\u0627\u0628\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0634\u06cc\u062a \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f. \u0645\u06cc \u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f UART TX \u0634\u0627\u0645\u0644 PA2 \u0648 AF07 (\u0628\u0639\u062f\u0627 \u0630\u06a9\u0631 \u062e\u0648\u0627\u0647\u062f \u0634\u062f)<\/p>\n<p>\u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u067e\u0648\u0631\u062a PA2 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0648\u0639 \u0639\u0645\u0644\u06a9\u0631\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u0627\u0646\u0646\u062f \u062c\u062f\u0648\u0644 \u0628\u0627\u0644\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645<\/p>\n<p>RCC-&gt;AHB1ENR |= GPIOAEN;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>PA2 \u0631\u0627 \u0631\u0648\u06cc \u062d\u0627\u0644\u062a \u0645\u062a\u0646\u0627\u0648\u0628 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062c\u062f\u0648\u0644\u060c \u0628\u0627\u06cc\u062f \u0628\u06cc\u062a 5 \u0648 4 \u067e\u06cc\u0646 2 \u0631\u0627 \u0631\u0648\u06cc \u0645\u0642\u062f\u0627\u0631 10 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u0645.<\/p>\n<p>GPIOA-&gt;MODER &amp;=~(1U&lt;&lt;4);<br \/>\nGPIOA-&gt;MODER |= (1U&lt;&lt;5);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0646\u0648\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 PA2 \u0631\u0627 \u0631\u0648\u06cc UART_TX \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0628\u0627\u0644\u0627 \u0630\u06a9\u0631 \u0634\u062f\u060c \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 PA2\u060c \u0628\u0627\u06cc\u062f AF07 \u0631\u0627 \u0646\u06cc\u0632 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645. AFRL \u06cc\u06a9 \u062b\u0628\u0627\u062a \u06a9\u0645 \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0627\u0633\u062a <\/p>\n<p>2 \u0631\u062c\u06cc\u0633\u062a\u0631 \u062a\u0627\u0628\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0648 \u0645\u0627 \u0628\u0627 PA2 \u0633\u0631\u0648\u06a9\u0627\u0631 \u062f\u0627\u0631\u06cc\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u0632 AFR \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645[0] \u0628\u0631\u0627\u06cc low \u0628\u0631\u0627\u06cc \u0645\u06a9\u0627\u0646 \u06cc\u0627\u0628\u06cc \u0628\u0647 AFRL2\u060c \u0648 \u0645\u0627 \u0628\u06cc\u062a 8\u060c 9\u060c 10\u060c 11 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u062f\u0647\u06cc\u0645. \u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 \u0631\u0648\u06cc AF7\u060c \u0627\u0632 \u0645\u0642\u062f\u0627\u0631 0111 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>GPIOA-&gt;AFR[0] |= (1U&lt;&lt;8);<br \/>\nGPIOA-&gt;AFR[0] |= (1U&lt;&lt;9);<br \/>\nGPIOA-&gt;AFR[0] |= (1U&lt;&lt;10);<br \/>\nGPIOA-&gt;AFR[0] &amp;= ~(1U&lt;&lt;11);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0633\u0627\u0639\u062a \u0631\u0627 \u0631\u0648\u06cc \u067e\u0648\u0631\u062a USART2 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f<\/p>\n<p>#define UART2EN (1U&lt;&lt;17)<br \/>\nRCC-&gt;APB1ENR |= UART2EN;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u062c\u0647\u062a UART \u0631\u0627 \u0631\u0648\u06cc \u0627\u0631\u0633\u0627\u0644 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0645\u0627 \u0628\u0627\u06cc\u062f \u062d\u0627\u0644\u062a TE \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645<\/p>\n<p>#define CR1_TE (1U&lt;&lt;3)<br \/>\nUSART2-&gt;CR1 = CR1_TE;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0633\u067e\u0633 \u0628\u0627\u06cc\u062f USART \u0631\u0627 \u062f\u0631 \u0628\u06cc\u062a 13 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u0645\u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u0627 \u0641\u0642\u0637 \u067e\u0633 \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645 \u062a\u0645\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u0641\u0639\u0627\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n<p>#define CR1_UE (1U&lt;&lt;13)<br \/>\nUSART2-&gt;CR1 |= CR1_UE;<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0628\u0627\u062f\u0631\u06cc\u062a \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f\u0641\u0631\u06a9\u0627\u0646\u0633 \u0631\u0627 16 \u0645\u06af\u0627\u0647\u0631\u062a\u0632 \u0648 baudrate \u0631\u0627 115200 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u0648 \u0628\u0647 \u0635\u0648\u0631\u062a \u0641\u0631\u0645\u0648\u0644 \u0632\u06cc\u0631 \u0645\u062d\u0627\u0633\u0628\u0647 \u06a9\u0646\u06cc\u062f\u0633\u067e\u0633 \u0628\u0627\u06cc\u062f \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0631\u0648\u06cc \u062b\u0628\u0627\u062a BRR \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645<br \/>\n\u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u067e\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f\u0642\u0628\u0644 \u0627\u0632 \u0627\u0631\u0633\u0627\u0644\u060c \u0628\u0627\u06cc\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u0648\u0636\u0639\u06cc\u062a \u0627\u0631\u0633\u0627\u0644 \u062e\u0648\u0628 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631<\/p>\n<p>#define SR_TXE (1U&lt;&lt;7)<br \/>\nUSART2-&gt;SR &amp; SR_TXE<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0648 \u0645\u0627 \u0641\u0642\u0637 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u06cc\u06a9 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u062f\u0631 \u0647\u0631 \u0646\u0648\u0634\u062a\u0646 \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645<\/p>\n<p>USART2-&gt;DR = (character &amp; 0xFF);<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u06a9\u062f \u0645\u0646\u0628\u0639<\/p>\n<p>#include &#8220;stm32f4xx.h&#8221;<br \/>\n#include<br \/>\n#include <\/p>\n<p>#define GPIOAEN (1U&lt;&lt;0)<br \/>\n#define UART2EN (1U&lt;&lt;17)<\/p>\n<p>#define CR1_TE (1U&lt;&lt;3)<br \/>\n#define CR1_UE (1U&lt;&lt;13)<br \/>\n#define SR_TXE (1U&lt;&lt;7)<\/p>\n<p>#define SYS_FREQ 16000000<br \/>\n#define APB1_CLK SYS_FREQ<br \/>\n#define UART_BAUDRATE 115200<\/p>\n<p>static void uart_set_baudrate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t BaudRate);<br \/>\nstatic uint16_t compute_uart_bd(uint32_t PeriphClk,uint32_t BaudRate);<br \/>\nvoid uart2_tx_init(void);<br \/>\nvoid uart2_write(int ch);<\/p>\n<p>int __io_putchar(int ch){<br \/>\n    uart2_write(ch);<br \/>\n    return ch;<br \/>\n}<br \/>\nint main(void){<br \/>\n    uart2_tx_init();<br \/>\n    while(1){<br \/>\n        uart2_write(&#8216;O&#8217;);<br \/>\n        \/\/printf(&#8220;hello\\n\\r&#8221;);<br \/>\n    }<br \/>\n    return 0;<br \/>\n}<\/p>\n<p>void uart2_tx_init(void){<br \/>\n    \/\/Enable GPIOA<br \/>\n    RCC-&gt;AHB1ENR |= GPIOAEN;<\/p>\n<p>    \/\/Set PA2 to alternate function mode<br \/>\n    GPIOA-&gt;MODER &amp;=~(1U&lt;&lt;4);<br \/>\n    GPIOA-&gt;MODER |= (1U&lt;&lt;5);<\/p>\n<p>    \/\/Set PA2 alternate function type to UART_TX (AF07)<br \/>\n    GPIOA-&gt;AFR[0] |= (1U&lt;&lt;8);<br \/>\n    GPIOA-&gt;AFR[0] |= (1U&lt;&lt;9);<br \/>\n    GPIOA-&gt;AFR[0] |= (1U&lt;&lt;10);<br \/>\n    GPIOA-&gt;AFR[0] &amp;= ~(1U&lt;&lt;11);<br \/>\n    \/\/Enable clock access to uart2<br \/>\n    RCC-&gt;APB1ENR |= UART2EN;<\/p>\n<p>    \/\/Configure baudrate<br \/>\n    uart_set_baudrate(USART2, APB1_CLK, UART_BAUDRATE);<br \/>\n    \/\/Configure transfer direct<br \/>\n    USART2-&gt;CR1 = CR1_TE;<\/p>\n<p>    \/\/Enable uart module<br \/>\n    USART2-&gt;CR1 |= CR1_UE;<\/p>\n<p>}<\/p>\n<p>void uart2_write(int ch){<br \/>\n    while( !(USART2-&gt;SR &amp; SR_TXE)){}<br \/>\n    USART2-&gt;DR = (ch &amp; 0xFF);<br \/>\n}<\/p>\n<p>static void uart_set_baudrate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t BaudRate){<br \/>\n    USARTx-&gt;BRR |= compute_uart_bd(PeriphClk, BaudRate);<br \/>\n}<\/p>\n<p>static uint16_t compute_uart_bd(uint32_t PeriphClk,uint32_t BaudRate){<br \/>\n    return ((PeriphClk + (BaudRate\/2U))\/BaudRate);<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<div data-article-id=\"2058625\" id=\"article-body\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 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=\"\u062a\u063a\u06cc\u06cc\u0631 \u0648\u0636\u0639\u06cc\u062a \u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628\"><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\/setup-uart-with-stm32f411re-l4\/#1_%D8%A8%D9%84%D9%88%DA%A9_%D8%AF%DB%8C%D8%A7%DA%AF%D8%B1%D8%A7%D9%85_%D8%B1%D8%A7_%D8%AF%D8%B1_%D8%AF%DB%8C%D8%AA%D8%A7%D8%B4%DB%8C%D8%AA_%D8%A8%D8%A7%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\" >1. \u0628\u0644\u0648\u06a9 \u062f\u06cc\u0627\u06af\u0631\u0627\u0645 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0634\u06cc\u062a \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/setup-uart-with-stm32f411re-l4\/#2_%D8%AA%D8%A7%D8%A8%D8%B9_%D8%A7%D8%B1%D8%B3%D8%A7%D9%84_UART_%D8%B1%D8%A7_%D8%A8%D9%87_USB_%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1_%D8%A8%D9%86%D9%88%DB%8C%D8%B3%DB%8C%D8%AF\" >2. \u062a\u0627\u0628\u0639 \u0627\u0631\u0633\u0627\u0644 UART \u0631\u0627 \u0628\u0647 USB \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"1_%D8%A8%D9%84%D9%88%DA%A9_%D8%AF%DB%8C%D8%A7%DA%AF%D8%B1%D8%A7%D9%85_%D8%B1%D8%A7_%D8%AF%D8%B1_%D8%AF%DB%8C%D8%AA%D8%A7%D8%B4%DB%8C%D8%AA_%D8%A8%D8%A7%D8%B2_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  1. \u0628\u0644\u0648\u06a9 \u062f\u06cc\u0627\u06af\u0631\u0627\u0645 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0634\u06cc\u062a \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><br \/>\u0645\u0627 \u0627\u0632 \u0631\u0627\u0628\u0637 USART2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u0632\u06cc\u0631\u0627 \u0628\u0647 \u0647\u0645\u0627\u0646 \u06af\u0630\u0631\u06af\u0627\u0647 (APB1) \u0628\u0627 \u0631\u0627\u0628\u0637 \u0628\u0631\u0642 \u0645\u062a\u0635\u0644 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0627\u0632 \u0637\u0631\u06cc\u0642 USB \u0628\u0627 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0628\u062f\u0648\u0646 \u062f\u0627\u0634\u062a\u0646 \u062a\u0631\u0627\u0634\u0647 \u0628\u0631\u0627\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0627\u0632 UART \u0628\u0647 USB \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u06a9\u0646\u06cc\u0645. <br \/><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi6q2fp5y96gc14ywi07k.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"368\" height=\"199\" title=\"\"><\/p>\n<h2><span class=\"ez-toc-section\" id=\"2_%D8%AA%D8%A7%D8%A8%D8%B9_%D8%A7%D8%B1%D8%B3%D8%A7%D9%84_UART_%D8%B1%D8%A7_%D8%A8%D9%87_USB_%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1_%D8%A8%D9%86%D9%88%DB%8C%D8%B3%DB%8C%D8%AF\"><\/span>\n<p>  2. \u062a\u0627\u0628\u0639 \u0627\u0631\u0633\u0627\u0644 UART \u0631\u0627 \u0628\u0647 USB \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0646\u06af\u0627\u0634\u062a \u062a\u0627\u0628\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0634\u06cc\u062a \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f. \u0645\u06cc \u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0627\u06cc\u062c\u0627\u062f UART TX \u0634\u0627\u0645\u0644 PA2 \u0648 AF07 (\u0628\u0639\u062f\u0627 \u0630\u06a9\u0631 \u062e\u0648\u0627\u0647\u062f \u0634\u062f)<br \/><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foxjiis1ksuvyn5z2pcif.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"332\" title=\"\"><\/p>\n<ol>\n<li>\u0627\u0628\u062a\u062f\u0627 \u0628\u0627\u06cc\u062f \u067e\u0648\u0631\u062a PA2 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0648\u0639 \u0639\u0645\u0644\u06a9\u0631\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0645\u0627\u0646\u0646\u062f \u062c\u062f\u0648\u0644 \u0628\u0627\u0644\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>RCC-&gt;AHB1ENR |= GPIOAEN;\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<ul>\n<li>PA2 \u0631\u0627 \u0631\u0648\u06cc \u062d\u0627\u0644\u062a \u0645\u062a\u0646\u0627\u0648\u0628 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u062c\u062f\u0648\u0644\u060c \u0628\u0627\u06cc\u062f \u0628\u06cc\u062a 5 \u0648 4 \u067e\u06cc\u0646 2 \u0631\u0627 \u0631\u0648\u06cc \u0645\u0642\u062f\u0627\u0631 10 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u0645.<br \/>\n<img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqjiisnt6tyk662babihf.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"503\" title=\"\">\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>GPIOA-&gt;MODER &amp;=~(1U&lt;&lt;4);\nGPIOA-&gt;MODER |= (1U&lt;&lt;5);\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<ul>\n<li>\u0646\u0648\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 PA2 \u0631\u0627 \u0631\u0648\u06cc UART_TX \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0628\u0627\u0644\u0627 \u0630\u06a9\u0631 \u0634\u062f\u060c \u0639\u0644\u0627\u0648\u0647 \u0628\u0631 PA2\u060c \u0628\u0627\u06cc\u062f AF07 \u0631\u0627 \u0646\u06cc\u0632 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645. AFRL \u06cc\u06a9 \u062b\u0628\u0627\u062a \u06a9\u0645 \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0627\u0633\u062a<br \/>\n<img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhikemnd2cijdu0jbof8z.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"523\" title=\"\"><br \/>\n2 \u0631\u062c\u06cc\u0633\u062a\u0631 \u062a\u0627\u0628\u0639 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f \u0648 \u0645\u0627 \u0628\u0627 PA2 \u0633\u0631\u0648\u06a9\u0627\u0631 \u062f\u0627\u0631\u06cc\u0645\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u0632 AFR \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645[0] \u0628\u0631\u0627\u06cc low \u0628\u0631\u0627\u06cc \u0645\u06a9\u0627\u0646 \u06cc\u0627\u0628\u06cc \u0628\u0647 AFRL2\u060c \u0648 \u0645\u0627 \u0628\u06cc\u062a 8\u060c 9\u060c 10\u060c 11 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u062f\u0647\u06cc\u0645. \u0628\u0631\u0627\u06cc \u062a\u0646\u0638\u06cc\u0645 \u0631\u0648\u06cc AF7\u060c \u0627\u0632 \u0645\u0642\u062f\u0627\u0631 0111 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>GPIOA-&gt;AFR[0] |= (1U&lt;&lt;8);\nGPIOA-&gt;AFR[0] |= (1U&lt;&lt;9);\nGPIOA-&gt;AFR[0] |= (1U&lt;&lt;10);\nGPIOA-&gt;AFR[0] &amp;= ~(1U&lt;&lt;11);\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<ul>\n<li>\u0633\u0627\u0639\u062a \u0631\u0627 \u0631\u0648\u06cc \u067e\u0648\u0631\u062a USART2 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f<br \/>\n<img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqnss7bv9g4xtkoczn389.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"346\" title=\"\">\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#define UART2EN (1U&lt;&lt;17)\nRCC-&gt;APB1ENR |= UART2EN;\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<ul>\n<li>\u062c\u0647\u062a UART \u0631\u0627 \u0631\u0648\u06cc \u0627\u0631\u0633\u0627\u0644 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f \u0645\u0627 \u0628\u0627\u06cc\u062f \u062d\u0627\u0644\u062a TE \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645<br \/>\n<img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi1ltlgrfzid8l4md7g02.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"229\" title=\"\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgs184pd81hwwhhkohjjb.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"531\" height=\"92\" title=\"\">\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#define CR1_TE (1U&lt;&lt;3)\nUSART2-&gt;CR1 = CR1_TE;\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>\u0633\u067e\u0633 \u0628\u0627\u06cc\u062f USART \u0631\u0627 \u062f\u0631 \u0628\u06cc\u062a 13 \u0641\u0639\u0627\u0644 \u06a9\u0646\u06cc\u0645<br \/>\u0628\u0647 \u06cc\u0627\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u0627 \u0641\u0642\u0637 \u067e\u0633 \u0627\u0632 \u062a\u0646\u0638\u06cc\u0645 \u062a\u0645\u0627\u0645 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0631\u0627 \u0641\u0639\u0627\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u0645.<br \/><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftxmt2lrxt5922hne76os.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"724\" height=\"134\" title=\"\"><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#define CR1_UE (1U&lt;&lt;13)\nUSART2-&gt;CR1 |= CR1_UE;\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<ul>\n<li>\n<p>\u0628\u0627\u062f\u0631\u06cc\u062a \u0631\u0627 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u062f<br \/>\u0641\u0631\u06a9\u0627\u0646\u0633 \u0631\u0627 16 \u0645\u06af\u0627\u0647\u0631\u062a\u0632 \u0648 baudrate \u0631\u0627 115200 \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc \u06a9\u0646\u06cc\u0645. <br \/>\u0648 \u0628\u0647 \u0635\u0648\u0631\u062a \u0641\u0631\u0645\u0648\u0644 \u0632\u06cc\u0631 \u0645\u062d\u0627\u0633\u0628\u0647 \u06a9\u0646\u06cc\u062f<br \/><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8yav0xlk3xwdpnfykahd.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"340\" height=\"66\" title=\"\"><br \/>\u0633\u067e\u0633 \u0628\u0627\u06cc\u062f \u0645\u0642\u062f\u0627\u0631 \u0631\u0627 \u0631\u0648\u06cc \u062b\u0628\u0627\u062a BRR \u062a\u0646\u0638\u06cc\u0645 \u06a9\u0646\u06cc\u0645<br \/><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdvi3lfsrwooa4joa3vi0.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"251\" title=\"\"><\/p>\n<\/li>\n<li>\n<p>\u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u067e\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f<br \/>\u0642\u0628\u0644 \u0627\u0632 \u0627\u0631\u0633\u0627\u0644\u060c \u0628\u0627\u06cc\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0622\u06cc\u0627 \u0648\u0636\u0639\u06cc\u062a \u0627\u0631\u0633\u0627\u0644 \u062e\u0648\u0628 \u0627\u0633\u062a \u06cc\u0627 \u062e\u06cc\u0631<br \/><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F56qit66ypzqy2vb8fit3.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"214\" title=\"\"><br \/><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9wdyxha20jte1nmc6ssy.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"723\" height=\"140\" title=\"\"><\/p>\n<\/li>\n<\/ul>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#define SR_TXE (1U&lt;&lt;7)\nUSART2-&gt;SR &amp; SR_TXE\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>\u0648 \u0645\u0627 \u0641\u0642\u0637 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u06cc\u06a9 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u062f\u0631 \u0647\u0631 \u0646\u0648\u0634\u062a\u0646 \u0628\u0646\u0648\u06cc\u0633\u06cc\u0645<br \/><img decoding=\"async\" src=\"https:\/\/media2.dev.to\/dynamic\/image\/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv1bqpkx64oewof9csnhc.png\" alt=\"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u062a\u0635\u0648\u06cc\u0631\" loading=\"lazy\" width=\"800\" height=\"233\" title=\"\"><\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>USART2-&gt;DR = (character &amp; 0xFF);\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>\u06a9\u062f \u0645\u0646\u0628\u0639<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>#include \"stm32f4xx.h\"\n#include <stdint.h>\n#include <stdio.h>\n\n#define GPIOAEN (1U&lt;&lt;0)\n#define UART2EN (1U&lt;&lt;17)\n\n#define CR1_TE (1U&lt;&lt;3)\n#define CR1_UE (1U&lt;&lt;13)\n#define SR_TXE (1U&lt;&lt;7)\n\n#define SYS_FREQ 16000000\n#define APB1_CLK SYS_FREQ\n#define UART_BAUDRATE 115200\n\nstatic void uart_set_baudrate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t BaudRate);\nstatic uint16_t compute_uart_bd(uint32_t PeriphClk,uint32_t BaudRate);\nvoid uart2_tx_init(void);\nvoid uart2_write(int ch);\n\nint __io_putchar(int ch){\n    uart2_write(ch);\n    return ch;\n}\nint main(void){\n    uart2_tx_init();\n    while(1){\n        uart2_write('O');\n        \/\/printf(\"hello\\n\\r\");\n    }\n    return 0;\n}\n\nvoid uart2_tx_init(void){\n    \/\/Enable GPIOA\n    RCC-&gt;AHB1ENR |= GPIOAEN;\n\n    \/\/Set PA2 to alternate function mode\n    GPIOA-&gt;MODER &amp;=~(1U&lt;&lt;4);\n    GPIOA-&gt;MODER |= (1U&lt;&lt;5);\n\n    \/\/Set PA2 alternate function type to UART_TX (AF07)\n    GPIOA-&gt;AFR[0] |= (1U&lt;&lt;8);\n    GPIOA-&gt;AFR[0] |= (1U&lt;&lt;9);\n    GPIOA-&gt;AFR[0] |= (1U&lt;&lt;10);\n    GPIOA-&gt;AFR[0] &amp;= ~(1U&lt;&lt;11);\n    \/\/Enable clock access to uart2\n    RCC-&gt;APB1ENR |= UART2EN;\n\n    \/\/Configure baudrate\n    uart_set_baudrate(USART2, APB1_CLK, UART_BAUDRATE);\n    \/\/Configure transfer direct\n    USART2-&gt;CR1 = CR1_TE;\n\n    \/\/Enable uart module\n    USART2-&gt;CR1 |= CR1_UE;\n\n}\n\nvoid uart2_write(int ch){\n    while( !(USART2-&gt;SR &amp; SR_TXE)){}\n    USART2-&gt;DR = (ch &amp; 0xFF);\n}\n\nstatic void uart_set_baudrate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t BaudRate){\n    USARTx-&gt;BRR |= compute_uart_bd(PeriphClk, BaudRate);\n}\n\nstatic uint16_t compute_uart_bd(uint32_t PeriphClk,uint32_t BaudRate){\n    return ((PeriphClk + (BaudRate\/2U))\/BaudRate);\n}\n<\/stdio.h><\/stdint.h><\/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><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang 1. \u0628\u0644\u0648\u06a9 \u062f\u06cc\u0627\u06af\u0631\u0627\u0645 \u0631\u0627 \u062f\u0631 \u062f\u06cc\u062a\u0627\u0634\u06cc\u062a \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u0645\u0627 \u0627\u0632 \u0631\u0627\u0628\u0637 USART2 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f \u0632\u06cc\u0631\u0627 \u0628\u0647 \u0647\u0645\u0627\u0646 \u06af\u0630\u0631\u06af\u0627\u0647 (APB1) \u0628\u0627 \u0631\u0627\u0628\u0637 \u0628\u0631\u0642 \u0645\u062a\u0635\u0644 \u0627\u0633\u062a. \u0627\u06cc\u0646 \u0628\u062f\u0627\u0646 \u0645\u0639\u0646\u0627\u0633\u062a \u06a9\u0647 \u0645\u0627 \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0627\u0632 \u0637\u0631\u06cc\u0642 USB \u0628\u0627 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0628\u062f\u0648\u0646 \u062f\u0627\u0634\u062a\u0646 \u062a\u0631\u0627\u0634\u0647 \u0628\u0631\u0627\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0627\u0632 UART \u0628\u0647 USB &hellip;<\/p>\n","protected":false},"author":2,"featured_media":81532,"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-81531","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\/81531","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=81531"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/81531\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/81532"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=81531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=81531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=81531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}