• R/O
  • SSH
  • HTTPS

chibios: Commit


Commit MetaInfo

Revision13877 (tree)
Time2020-09-30 19:19:06
Authorgdisirio

Log Message

Updated clock handling.

Change Summary

Incremental Difference

--- trunk/os/hal/ports/STM32/LLD/USARTv1/hal_uart_lld.c (revision 13876)
+++ trunk/os/hal/ports/STM32/LLD/USARTv1/hal_uart_lld.c (revision 13877)
@@ -256,14 +256,7 @@
256256 usart_stop(uartp);
257257
258258 /* Baud rate setting.*/
259-#if STM32_HAS_USART6
260- if ((uartp->usart == USART1) || (uartp->usart == USART6))
261-#else
262- if (uartp->usart == USART1)
263-#endif
264- fck = STM32_PCLK2 / uartp->config->speed;
265- else
266- fck = STM32_PCLK1 / uartp->config->speed;
259+ fck = (uint32_t)(uartp->clock / uartp->config->speed);
267260
268261 /* Correcting USARTDIV when oversampling by 8 instead of 16.
269262 Fraction is still 4 bits wide, but only lower 3 bits used.
@@ -575,6 +568,7 @@
575568 #if STM32_UART_USE_USART1
576569 uartObjectInit(&UARTD1);
577570 UARTD1.usart = USART1;
571+ UARTD1.clock = STM32_PCLK2;
578572 UARTD1.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
579573 UARTD1.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
580574 UARTD1.dmarx = NULL;
@@ -584,6 +578,7 @@
584578 #if STM32_UART_USE_USART2
585579 uartObjectInit(&UARTD2);
586580 UARTD2.usart = USART2;
581+ UARTD2.clock = STM32_PCLK1;
587582 UARTD2.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
588583 UARTD2.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
589584 UARTD2.dmarx = NULL;
@@ -593,6 +588,7 @@
593588 #if STM32_UART_USE_USART3
594589 uartObjectInit(&UARTD3);
595590 UARTD3.usart = USART3;
591+ UARTD3.clock = STM32_PCLK1;
596592 UARTD3.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
597593 UARTD3.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
598594 UARTD3.dmarx = NULL;
@@ -602,6 +598,7 @@
602598 #if STM32_UART_USE_UART4
603599 uartObjectInit(&UARTD4);
604600 UARTD4.usart = UART4;
601+ UARTD4.clock = STM32_PCLK1;
605602 UARTD4.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
606603 UARTD4.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
607604 UARTD4.dmarx = NULL;
@@ -611,6 +608,7 @@
611608 #if STM32_UART_USE_UART5
612609 uartObjectInit(&UARTD5);
613610 UARTD5.usart = UART5;
611+ UARTD5.clock = STM32_PCLK1;
614612 UARTD5.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
615613 UARTD5.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
616614 UARTD5.dmarx = NULL;
@@ -620,6 +618,7 @@
620618 #if STM32_UART_USE_USART6
621619 uartObjectInit(&UARTD6);
622620 UARTD6.usart = USART6;
621+ UARTD6.clock = STM32_PCLK2;
623622 UARTD6.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
624623 UARTD6.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
625624 UARTD6.dmarx = NULL;
@@ -629,6 +628,7 @@
629628 #if STM32_UART_USE_UART7
630629 uartObjectInit(&UARTD7);
631630 UARTD7.usart = UART7;
631+ UARTD7.clock = STM32_PCLK1;
632632 UARTD7.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
633633 UARTD7.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
634634 UARTD7.dmarx = NULL;
@@ -638,6 +638,7 @@
638638 #if STM32_UART_USE_UART8
639639 uartObjectInit(&UARTD8);
640640 UARTD8.usart = UART8;
641+ UARTD8.clock = STM32_PCLK1;
641642 UARTD8.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
642643 UARTD8.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
643644 UARTD8.dmarx = NULL;
@@ -647,6 +648,7 @@
647648 #if STM32_UART_USE_UART9
648649 uartObjectInit(&UARTD9);
649650 UARTD9.usart = UART9;
651+ UARTD9.clock = STM32_PCLK2;
650652 UARTD9.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
651653 UARTD9.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
652654 UARTD9.dmarx = NULL;
@@ -656,6 +658,7 @@
656658 #if STM32_UART_USE_UART10
657659 uartObjectInit(&UARTD10);
658660 UARTD10.usart = UART10;
661+ UARTD10.clock = STM32_PCLK2;
659662 UARTD10.dmarxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
660663 UARTD10.dmatxmode = STM32_DMA_CR_DMEIE | STM32_DMA_CR_TEIE;
661664 UARTD10.dmarx = NULL;
--- trunk/os/hal/ports/STM32/LLD/USARTv1/hal_uart_lld.h (revision 13876)
+++ trunk/os/hal/ports/STM32/LLD/USARTv1/hal_uart_lld.h (revision 13877)
@@ -872,6 +872,10 @@
872872 */
873873 USART_TypeDef *usart;
874874 /**
875+ * @brief Clock frequency for the associated USART/UART.
876+ */
877+ uint32_t clock;
878+ /**
875879 * @brief Receive DMA mode bit mask.
876880 */
877881 uint32_t dmarxmode;
Show on old repository browser