diff --git a/f1/usart/include/usart1.h b/f1/usart/include/usart1.h
index 67621a03121af056ba1d0002e2237983b2752878..58e6d28b584d80469d404b0968dd5cda92901810 100644
--- a/f1/usart/include/usart1.h
+++ b/f1/usart/include/usart1.h
@@ -9,6 +9,7 @@
 void usart1_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart1_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart1_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart1_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart1_send_irq(unsigned char first_byte);
 unsigned char usart1_enable_tx_irq(void);
diff --git a/f1/usart/include/usart2.h b/f1/usart/include/usart2.h
index 9889d0be2c0416414e568e19b458fcd1e560d187..21891f0f7f9d9f6fc388ad877d6dd588e2aed613 100644
--- a/f1/usart/include/usart2.h
+++ b/f1/usart/include/usart2.h
@@ -9,6 +9,7 @@
 void usart2_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart2_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart2_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart2_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart2_send_irq(unsigned char first_byte);
 unsigned char usart2_enable_tx_irq(void);
diff --git a/f1/usart/include/usart3.h b/f1/usart/include/usart3.h
index fbc0c3b7063419b2d12b0bf128e6948e8af97300..23e8ac4501d31fadebe3b16abf2792353c4a85f7 100644
--- a/f1/usart/include/usart3.h
+++ b/f1/usart/include/usart3.h
@@ -9,6 +9,7 @@
 void usart3_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart3_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart3_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart3_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart3_send_irq(unsigned char first_byte);
 unsigned char usart3_enable_tx_irq(void);
diff --git a/f1/usart/src/usart1.c b/f1/usart/src/usart1.c
index d54b562d9f9e0491e87c911d1400c0ccaeea2879..271d84ebe63940f7162783d8c2a575b1bfd05b9b 100644
--- a/f1/usart/src/usart1.c
+++ b/f1/usart/src/usart1.c
@@ -274,6 +274,12 @@ void usart1_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart1_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart1Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart1Handle);
+}
+
 /* IRQ functions */
 unsigned char usart1_send_irq(unsigned char first_byte)
 {
diff --git a/f1/usart/src/usart2.c b/f1/usart/src/usart2.c
index 3783a81ea4d0a697c66698fc5f35df3fde58d162..48066858e1c57ff47d055d899fc629d8c4569042 100644
--- a/f1/usart/src/usart2.c
+++ b/f1/usart/src/usart2.c
@@ -273,6 +273,12 @@ void usart2_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart2_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart2Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart2Handle);
+}
+
 /* IRQ functions */
 unsigned char usart2_send_irq(unsigned char first_byte)
 {
diff --git a/f1/usart/src/usart3.c b/f1/usart/src/usart3.c
index 322b771cafa94c8d325d7710394e0dc6ceac7761..4b6fc90a51f52df608927137a6373994a581c2d3 100644
--- a/f1/usart/src/usart3.c
+++ b/f1/usart/src/usart3.c
@@ -273,6 +273,12 @@ void usart3_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart3_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart3Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart3Handle);
+}
+
 /* IRQ functions */
 unsigned char usart3_send_irq(unsigned char first_byte)
 {
diff --git a/f4/usart/include/usart1.h b/f4/usart/include/usart1.h
index 4c5f41eebcd5d2205f0e88f030e2d1bdb911f815..94ad8f0787ef49a1cbf78370b6f8e3390471b559 100644
--- a/f4/usart/include/usart1.h
+++ b/f4/usart/include/usart1.h
@@ -9,6 +9,7 @@
 void usart1_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart1_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart1_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart1_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart1_send_irq(unsigned char first_byte);
 unsigned char usart1_enable_tx_irq(void);
diff --git a/f4/usart/include/usart2.h b/f4/usart/include/usart2.h
index 65bbfaea37e42f7987a7c62ffe0f996b625a4864..162c39146373d643ab7646f4d41c5f2db8de0f83 100644
--- a/f4/usart/include/usart2.h
+++ b/f4/usart/include/usart2.h
@@ -9,6 +9,7 @@
 void usart2_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart2_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart2_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart2_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart2_send_irq(unsigned char first_byte);
 unsigned char usart2_enable_tx_irq(void);
diff --git a/f4/usart/include/usart3.h b/f4/usart/include/usart3.h
index 7d659d93cd037e0225abdc12bc6bd103c1a8187e..4d96a995bda7b0b5c59712ea80eee3281750660d 100644
--- a/f4/usart/include/usart3.h
+++ b/f4/usart/include/usart3.h
@@ -9,6 +9,7 @@
 void usart3_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart3_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart3_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart3_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart3_send_irq(unsigned char first_byte);
 unsigned char usart3_enable_tx_irq(void);
diff --git a/f4/usart/include/usart4.h b/f4/usart/include/usart4.h
index 78213da290f03c2c9769082e76f6625ef558b146..21370af9e17c4e1b78906f7fc36a4eb63a3f16c4 100644
--- a/f4/usart/include/usart4.h
+++ b/f4/usart/include/usart4.h
@@ -9,6 +9,7 @@
 void usart4_init(TComm *comm_dev,UART_InitTypeDef *conf,TUSART_IRQ_Priorities *priorities);
 void usart4_config(TComm *comm_dev,UART_InitTypeDef *conf);
 void usart4_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities);
+void usart4_set_baudrate(TComm *comm_dev,unsigned int baudrate);
 /* IRQ functions */
 unsigned char usart4_send_irq(unsigned char first_byte);
 unsigned char usart4_enable_tx_irq(void);
diff --git a/f4/usart/src/usart1.c b/f4/usart/src/usart1.c
index 1622ccfd6e2d6e00906f044f30bc4243f20462a4..ca3e17cf23d42c943c3998fe9b15a4877338a20a 100644
--- a/f4/usart/src/usart1.c
+++ b/f4/usart/src/usart1.c
@@ -277,6 +277,12 @@ void usart1_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart1_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart1Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart1Handle);
+}
+
 /* IRQ functions */
 unsigned char usart1_send_irq(unsigned char first_byte)
 {
diff --git a/f4/usart/src/usart2.c b/f4/usart/src/usart2.c
index ee1cc5562244f5717523f9479216bb3873d0f5a5..44190b812114be10d0d8540a5cee57a16a27007c 100644
--- a/f4/usart/src/usart2.c
+++ b/f4/usart/src/usart2.c
@@ -277,6 +277,12 @@ void usart2_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart2_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart2Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart2Handle);
+}
+
 /* IRQ functions */
 unsigned char usart2_send_irq(unsigned char first_byte)
 {
diff --git a/f4/usart/src/usart3.c b/f4/usart/src/usart3.c
index 921746cd4ead2ee457dbf592cf21524119d51954..5e5a6e38ca1a659005605b07f0465b5b055f70cb 100644
--- a/f4/usart/src/usart3.c
+++ b/f4/usart/src/usart3.c
@@ -277,6 +277,12 @@ void usart3_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart3_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart3Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart3Handle);
+}
+
 /* IRQ functions */
 unsigned char usart3_send_irq(unsigned char first_byte)
 {
diff --git a/f4/usart/src/usart4.c b/f4/usart/src/usart4.c
index 301468416126104a99bf0ee869b01d5824fd4050..e97a9c7b0bc3472a1446ee5b1e5506cf2532c14a 100644
--- a/f4/usart/src/usart4.c
+++ b/f4/usart/src/usart4.c
@@ -277,6 +277,12 @@ void usart4_set_priorities(TComm *comm_dev,TUSART_IRQ_Priorities *priorities)
   }
 }
 
+void usart4_set_baudrate(TComm *comm_dev,unsigned int baudrate)
+{
+  Uart4Handle.Init.BaudRate = baudrate;
+  HAL_UART_Init(&Uart4Handle);
+}
+
 /* IRQ functions */
 unsigned char usart4_send_irq(unsigned char first_byte)
 {