{"id":5188,"date":"2021-02-26T09:22:24","date_gmt":"2021-02-26T09:22:24","guid":{"rendered":"http:\/\/fastbitlab.com\/?p=5188"},"modified":"2023-09-04T12:56:34","modified_gmt":"2023-09-04T07:26:34","slug":"exploring-uart-functional-block","status":"publish","type":"post","link":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/","title":{"rendered":"STM32 UART Lecture 7 &#8211; Exploring UART functional block"},"content":{"rendered":"<div class=\"boldgrid-section\" style=\"background-image: linear-gradient(to left, #eeeeee, #eeeeee);\" data-bg-color-1=\"#EEEEEE\" data-bg-color-2=\"#EEEEEE\" data-bg-direction=\"to left\">\n<div class=\"container\">\n<div class=\"row\" style=\"padding-top: 25px; padding-bottom: 0px; background-image: linear-gradient(to left, #eeeeee, #eeeeee);\" data-bg-color-1=\"#EEEEEE\" data-bg-color-2=\"#EEEEEE\" data-bg-direction=\"to left\">\n<div class=\"col-md-1 col-sm-12 col-xs-12 col-lg-1\">\n<p>&nbsp;<\/p>\n<\/div>\n<div class=\"col-md-10 col-sm-12 col-xs-12 col-lg-10\">\n<h1 class=\"\" style=\"text-align: center; font-size: 35px; border-width: 0px; line-height: 50px;\"><span style=\"color: #000080;\">Exploring UART functional block<\/span><\/h1>\n<div class=\"row bg-editor-hr-wrap\" style=\"border-width: 0px; margin-top: -25px;\">\n<div class=\"col-lg-12 col-md-12 col-xs-12 col-sm-12\">\n<div>\n<p>&nbsp;<\/p>\n<div class=\"bg-hr bg-hr-10 color2-color\" style=\"border-style: solid; border-width: 0px 0px 3px;\"><\/div>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Now let\u2019s explore the USART functional diagram in the STM32f4xx microcontroller. For that, let me take you to the USART section of the reference manual. <\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Figure 1 shows the block diagram of the USART hardware.<\/span><\/p>\n<figure id=\"attachment_5191\" aria-describedby=\"caption-attachment-5191\" style=\"width: 925px\" class=\"wp-caption aligncenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-5191 size-full\" src=\"http:\/\/fastbitlab.com\/wp-content\/uploads\/2021\/02\/Figure-1-10.png\" alt=\"Exploring UART functional block\" width=\"925\" height=\"945\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10.png 925w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-294x300.png 294w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-768x785.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-600x613.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-65x65.png 65w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-120x123.png 120w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-500x511.png 500w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-66x66.png 66w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-200x204.png 200w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-400x409.png 400w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10-800x817.png 800w\" sizes=\"(max-width: 925px) 100vw, 925px\" \/><figcaption id=\"caption-attachment-5191\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 1. USART block diagram.<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">This hardware block can be used for both synchronous and asynchronous data transfer. But we are currently interested in UART that is asynchronous. <\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">In Figure 2, you can see four important pins that are used in UART communication. They are TX, RX, RTS, and CTS. The TX and RX pins are used to transmit and receive data, and RTS and CTS pins are used for hardware flow control.<\/span><\/p>\n<figure id=\"attachment_5192\" aria-describedby=\"caption-attachment-5192\" style=\"width: 1557px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-5192 size-full\" src=\"http:\/\/fastbitlab.com\/wp-content\/uploads\/2021\/02\/Figure-2-6.png\" alt=\"Exploring UART functional block\" width=\"1557\" height=\"951\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6.png 1557w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-300x183.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-768x469.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-1024x625.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-600x366.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-120x73.png 120w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-500x305.png 500w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-200x122.png 200w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-400x244.png 400w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-800x489.png 800w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-2-6-1200x733.png 1200w\" sizes=\"(max-width: 1557px) 100vw, 1557px\" \/><figcaption id=\"caption-attachment-5192\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 2. Important pins used in UART communication.<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">If this hardware block is used in synchronous mode, then the serial clock will be used since the UART is a full-duplex in communication. Full-duplex means you can transmit and receive data simultaneously. <\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">There are two data registers (Figure 3) to achieve full-duplex communication. One is transmit data register, and another one is receive data register. Each data register has its associated shift register.<\/span><\/p>\n<figure id=\"attachment_5193\" aria-describedby=\"caption-attachment-5193\" style=\"width: 1497px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-5193 size-full\" src=\"http:\/\/fastbitlab.com\/wp-content\/uploads\/2021\/02\/Figure-3-6.png\" alt=\"Data registers to achieve the full duplex communication\" width=\"1497\" height=\"935\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6.png 1497w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-300x187.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-768x480.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-1024x640.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-600x375.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-320x200.png 320w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-120x75.png 120w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-500x312.png 500w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-200x125.png 200w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-400x250.png 400w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-800x500.png 800w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-3-6-1200x749.png 1200w\" sizes=\"(max-width: 1497px) 100vw, 1497px\" \/><figcaption id=\"caption-attachment-5193\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 3. Data registers to achieve the full duplex communication.<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">There are a couple of control registers (Figure 4) having various control bits used to control the transmission block as well as the receiver block.&nbsp;<\/span><\/p>\n<figure id=\"attachment_5194\" aria-describedby=\"caption-attachment-5194\" style=\"width: 1469px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5194 size-full\" src=\"http:\/\/fastbitlab.com\/wp-content\/uploads\/2021\/02\/Figure-4-3.png\" alt=\"Control registers with control bits.\" width=\"1469\" height=\"1031\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3.png 1469w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-300x211.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-768x539.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-1024x719.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-600x421.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-120x84.png 120w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-500x351.png 500w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-200x140.png 200w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-400x281.png 400w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-800x561.png 800w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-4-3-1200x842.png 1200w\" sizes=\"(max-width: 1469px) 100vw, 1469px\" \/><figcaption id=\"caption-attachment-5194\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 4. Control registers with control bits.<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">Figure 5 shows the <span style=\"color: #ff6600;\">baud rate generation block<\/span>, which is used to generate the proper <span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"http:\/\/fastbitlab.com\/stm32-uart-lecture-4-baud-rate\/\" target=\"_blank\" rel=\"noopener\">baud rate<\/a><\/span> for the data transfer. You can see that the peripheral clock undergoes various divisions to produce the proper baud rate for the data transmission. <\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"font-weight: 400; color: #000000;\">The USART_BRR register must be configured properly with mantissa and fraction fields to produce the desired baud rate.<\/span><\/p>\n<figure id=\"attachment_5195\" aria-describedby=\"caption-attachment-5195\" style=\"width: 1667px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5195 size-full\" src=\"http:\/\/fastbitlab.com\/wp-content\/uploads\/2021\/02\/Figure-5-3.png\" alt=\"Baud rate generation block\" width=\"1667\" height=\"1027\" srcset=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3.png 1667w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-300x185.png 300w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-768x473.png 768w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-1024x631.png 1024w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-600x370.png 600w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-120x74.png 120w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-500x308.png 500w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-200x123.png 200w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-400x246.png 400w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-800x493.png 800w, https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-5-3-1200x739.png 1200w\" sizes=\"(max-width: 1667px) 100vw, 1667px\" \/><figcaption id=\"caption-attachment-5195\" class=\"wp-caption-text\"><span style=\"color: #000000;\">Figure 5. Baud rate generation block.<\/span><\/figcaption><\/figure>\n<p class=\"\">&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 17px; line-height: 30px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000000;\">In the next article, let&#8217;s see<\/span> <span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"http:\/\/fastbitlab.com\/uart-peripheral-clock\/\" target=\"_blank\" rel=\"noopener\">UART peripheral clock<\/a><\/span>. &nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p class=\"\" style=\"border-width: 0px; font-family: 'Roboto Slab'; font-weight: 400; font-size: 20px; line-height: 25px;\" data-font-family=\"Roboto Slab\" data-font-weight=\"400\" data-font-style=\"\"><span style=\"color: #000080;\"><b>FastBit Embedded Brain Academy Courses<\/b><\/span><\/p>\n<p class=\"\" style=\"border-width: 0px; font-size: 17px;\">Click here:&nbsp;<span style=\"color: #0000ff;\"><a style=\"color: #0000ff;\" href=\"http:\/\/fastbitlab.com\/course1\" target=\"_blank\" rel=\"noopener\">https:\/\/fastbitlab.com\/course1<\/a><\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Exploring UART functional block &nbsp; &nbsp; Now let\u2019s explore the USART functional diagram in the STM32f4xx microcontroller. For that, let me take you to the USART section of the reference manual. Figure 1 shows the block diagram of the USART hardware. &nbsp; This hardware block can be used for both synchronous and asynchronous data [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5191,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"off","ocean_gallery_id":[],"footnotes":""},"categories":[8],"tags":[22],"class_list":["post-5188","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-stm32-uart-lecture","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>STM32 UART Lecture 7 - Exploring UART functional block<\/title>\n<meta name=\"description\" content=\"Exploring UART functional block. Dive into the USART functional block of STM32f4xx microcontrollers, focusing on UART communication. TX, RX\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"STM32 UART Lecture 7 - Exploring UART functional block\" \/>\n<meta property=\"og:description\" content=\"Exploring UART functional block. Dive into the USART functional block of STM32f4xx microcontrollers, focusing on UART communication. TX, RX\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/\" \/>\n<meta property=\"og:site_name\" content=\"FastBit EBA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/fastbiteba\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-26T09:22:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-04T07:26:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10.png\" \/>\n\t<meta property=\"og:image:width\" content=\"925\" \/>\n\t<meta property=\"og:image:height\" content=\"945\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"FastBitLab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fastbiteba\" \/>\n<meta name=\"twitter:site\" content=\"@fastbiteba\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"FastBitLab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/\"},\"author\":{\"name\":\"FastBitLab\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\"},\"headline\":\"STM32 UART Lecture 7 &#8211; Exploring UART functional block\",\"datePublished\":\"2021-02-26T09:22:24+00:00\",\"dateModified\":\"2023-09-04T07:26:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/\"},\"wordCount\":361,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Figure-1-10.png\",\"keywords\":[\"STM32 UART Lectures\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/\",\"name\":\"STM32 UART Lecture 7 - Exploring UART functional block\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Figure-1-10.png\",\"datePublished\":\"2021-02-26T09:22:24+00:00\",\"dateModified\":\"2023-09-04T07:26:34+00:00\",\"description\":\"Exploring UART functional block. Dive into the USART functional block of STM32f4xx microcontrollers, focusing on UART communication. TX, RX\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/#primaryimage\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Figure-1-10.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/Figure-1-10.png\",\"width\":925,\"height\":945,\"caption\":\"Figure 1. USART block diagram.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/exploring-uart-functional-block\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"STM32 UART Lecture 7 &#8211; Exploring UART functional block\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\",\"name\":\"FastBit EBA\",\"description\":\"Your Online Academy of Embedded Systems\",\"publisher\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#organization\",\"name\":\"FastBit EBA\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/logo-EzNrEnyr.png\",\"contentUrl\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/logo-EzNrEnyr.png\",\"width\":640,\"height\":640,\"caption\":\"FastBit EBA\"},\"image\":{\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/fastbiteba\\\/\",\"https:\\\/\\\/x.com\\\/fastbiteba\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/fastbit-embedded-brain-academy-b3167b124\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCa1REBV9hyrzGp2mjJCagBg\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/fastbitlab.com\\\/blog\\\/#\\\/schema\\\/person\\\/e32b38e733a0d76ffa7e6bc998652e5d\",\"name\":\"FastBitLab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g\",\"caption\":\"FastBitLab\"},\"description\":\"The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries.\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"STM32 UART Lecture 7 - Exploring UART functional block","description":"Exploring UART functional block. Dive into the USART functional block of STM32f4xx microcontrollers, focusing on UART communication. TX, RX","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/","og_locale":"en_US","og_type":"article","og_title":"STM32 UART Lecture 7 - Exploring UART functional block","og_description":"Exploring UART functional block. Dive into the USART functional block of STM32f4xx microcontrollers, focusing on UART communication. TX, RX","og_url":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/","og_site_name":"FastBit EBA","article_publisher":"https:\/\/www.facebook.com\/fastbiteba\/","article_published_time":"2021-02-26T09:22:24+00:00","article_modified_time":"2023-09-04T07:26:34+00:00","og_image":[{"width":925,"height":945,"url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10.png","type":"image\/png"}],"author":"FastBitLab","twitter_card":"summary_large_image","twitter_creator":"@fastbiteba","twitter_site":"@fastbiteba","twitter_misc":{"Written by":"FastBitLab","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/#article","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/"},"author":{"name":"FastBitLab","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d"},"headline":"STM32 UART Lecture 7 &#8211; Exploring UART functional block","datePublished":"2021-02-26T09:22:24+00:00","dateModified":"2023-09-04T07:26:34+00:00","mainEntityOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/"},"wordCount":361,"commentCount":2,"publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10.png","keywords":["STM32 UART Lectures"],"articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/","url":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/","name":"STM32 UART Lecture 7 - Exploring UART functional block","isPartOf":{"@id":"https:\/\/fastbitlab.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/#primaryimage"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/#primaryimage"},"thumbnailUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10.png","datePublished":"2021-02-26T09:22:24+00:00","dateModified":"2023-09-04T07:26:34+00:00","description":"Exploring UART functional block. Dive into the USART functional block of STM32f4xx microcontrollers, focusing on UART communication. TX, RX","breadcrumb":{"@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/#primaryimage","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2021\/02\/Figure-1-10.png","width":925,"height":945,"caption":"Figure 1. USART block diagram."},{"@type":"BreadcrumbList","@id":"https:\/\/fastbitlab.com\/blog\/exploring-uart-functional-block\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fastbitlab.com\/blog\/"},{"@type":"ListItem","position":2,"name":"STM32 UART Lecture 7 &#8211; Exploring UART functional block"}]},{"@type":"WebSite","@id":"https:\/\/fastbitlab.com\/blog\/#website","url":"https:\/\/fastbitlab.com\/blog\/","name":"FastBit EBA","description":"Your Online Academy of Embedded Systems","publisher":{"@id":"https:\/\/fastbitlab.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fastbitlab.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fastbitlab.com\/blog\/#organization","name":"FastBit EBA","url":"https:\/\/fastbitlab.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2026\/04\/logo-EzNrEnyr.png","contentUrl":"https:\/\/fastbitlab.com\/blog\/wp-content\/uploads\/2026\/04\/logo-EzNrEnyr.png","width":640,"height":640,"caption":"FastBit EBA"},"image":{"@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/fastbiteba\/","https:\/\/x.com\/fastbiteba","https:\/\/www.linkedin.com\/in\/fastbit-embedded-brain-academy-b3167b124\/","https:\/\/www.youtube.com\/channel\/UCa1REBV9hyrzGp2mjJCagBg"]},{"@type":"Person","@id":"https:\/\/fastbitlab.com\/blog\/#\/schema\/person\/e32b38e733a0d76ffa7e6bc998652e5d","name":"FastBitLab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9230d0f9bdef28b63a01e7ca274ee7b2e8ed9abe932ee564af8809caaf52a0c8?s=96&d=mm&r=g","caption":"FastBitLab"},"description":"The FastBit Embedded Brain Academy uses the power of internet to bring the online courses related to the field of embedded system programming, Real time operating system, Embedded Linux systems, etc at your finger tip with very low cost. Backed with strong experience of industry, we have produced lots of courses with the customer enrolment over 3000+ across 100+ countries."}]}},"_links":{"self":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/5188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/comments?post=5188"}],"version-history":[{"count":5,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/5188\/revisions"}],"predecessor-version":[{"id":12646,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/posts\/5188\/revisions\/12646"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media\/5191"}],"wp:attachment":[{"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/media?parent=5188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/categories?post=5188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fastbitlab.com\/blog\/wp-json\/wp\/v2\/tags?post=5188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}