EDA365电子论坛网

标题: 请问目前是否增加了对stm32L475低功耗串口的驱动代码呢? [打印本页]

作者: chanfu    时间: 2022-8-24 16:03
标题: 请问目前是否增加了对stm32L475低功耗串口的驱动代码呢?
我使用的mcu 为stm32L475,其中有一组串口为低功耗串口lpuart1。1 A) _0 J) g, U7 ?6 ^( Q
6 q  K2 n  c% \: r6 G5 j3 b
bug  _. ~' j5 U% a: W

$ E' e5 d# {/ T: h" U* b* g在stm32l475中,低功耗串口lpuart1和uart1 是两组不同的串口,目前无法根绝串口名称成功打开低功耗串口lpuart1。4 U# C) q% [' [' u' h, W
; x# U, ?, J/ ~9 y7 C- h/ y- w* J
请问目前是否增加了对低功耗串口的驱动代码呢?
2 I  }9 ]! _1 f( P
作者: Memory00    时间: 2022-8-24 16:28
自己去源码里,比猫画虎,添加一组配置。
' A( o% Y. B* G& ?) _$ x
作者: twel2e    时间: 2022-8-24 17:13
在uart_config.h中参考其他代码,添加一组lpuart配置,包含lpuart的dma配置
1 w9 y: H$ u$ D$ p
& y- u6 s# U; T% ^. ^6 @( a#if defined(BSP_USING_LPUART1); M' w' \' |3 I5 `( w! l0 `
#ifndef LPUART1_CONFIG
/ n' ]3 P( q: E* w) F7 _, o$ D" k#define LPUART1_CONFIG                                              \
/ r" E* d/ Z% _; v5 u4 v% W    {                                                               \
3 G6 a/ P, |1 @( p3 Y' t        .name = "lpuart1",                                          \
! s) [6 z! I' r6 {' X5 y+ W! @- t        .Instance = LPUART1,                                        \- c, e8 g2 r/ B* x% `4 R' U
        .irq_type = LPUART1_IRQn,                                   \
$ Q8 t' |+ Q4 k9 F    }
# f0 X, V5 Z# X) y6 h0 x#endif /* LPUART1_CONFIG */
% u, m( z8 j( A* D3 ]#if defined(BSP_LPUART1_RX_USING_DMA)% |( Y1 A; ^# W2 Q( Y* ?0 U6 t
#ifndef LPUART1_DMA_CONFIG
3 X5 Y& I* z1 f6 z1 g/ Z#define LPUART1_DMA_CONFIG                                          \
  @9 g/ u7 H( i3 j+ B) J    {                                                               \
: @; x% p- Y" v+ c9 `' {        .Instance = LPUART1_RX_DMA_INSTANCE,                        \
: R, M5 ^$ f  i: x* ]4 F2 E1 m        .request  = LPUART1_RX_DMA_REQUEST,                         \
. h- o+ Z2 R, J5 z. ^        .dma_rcc  = LPUART1_RX_DMA_RCC,                             \
. c3 L2 u" a8 |* o        .dma_irq  = LPUART1_RX_DMA_IRQ,                             \
6 J5 c4 ]- O  a    }0 |9 @- V$ ?; D
#endif /* LPUART1_DMA_CONFIG */
# u3 C. T* G% W# F8 L2 s#endif /* BSP_LPUART1_RX_USING_DMA */
3 m$ O: R1 a0 i8 k9 y8 |#if defined(BSP_LPUART1_TX_USING_DMA)
) z' t$ E& @# G8 a7 F0 N0 ~#ifndef LPUART1_DMA_TX_CONFIG
' Q5 v; B; I+ g- P; [' D' f#define LPUART1_DMA_TX_CONFIG                                         \0 F' b' K; S' V$ g
    {                                                                 \* |# h' t2 y4 ]" a1 Z
        .Instance = LPUART1_TX_DMA_INSTANCE,                          \9 f  E, y& q4 B& H
        .channel = LPUART1_TX_DMA_CHANNEL,                            \
) Q: ^% Q: e- D) X# ~( v1 L        .dma_rcc = LPUART1_TX_DMA_RCC,                                \
0 ~7 B; x/ t) i  X2 [        .dma_irq = LPUART1_TX_DMA_IRQ,                                \0 K# M1 X; [0 O0 K
    }$ ^+ p- e4 b5 r9 t2 a
#endif /* LPUART1_DMA_TX_CONFIG */
4 R  u. c) o0 y$ C2 O9 }#endif /* BSP_LPUART1_TX_USING_DMA */
+ u7 p/ Q& c1 }0 y# d4 K0 t" v#endif /* BSP_USING_LPUART1 */
) }  a0 l4 m  A9 s6 T: ?7 R) l还需要在kconfig中的BSP_USING_UART下依照其他串口配置再添加一组配置,以便使用env工具打开lpuart
' c! u; e$ _4 I% x9 q代码如下
$ Q( U7 v# b3 L, n
  g9 b$ z/ ?' i' p) U            menuconfig BSP_USING_LPUART1
4 u- T9 }9 {! p                bool "Enable LPUART1") B) [7 p: _" ^) F
                default n
% B! \* K+ K5 F. H2 |) H! m                if BSP_USING_LPUART1. Y+ {0 {" F3 S, l. S) Y
                    config BSP_LPUART1_RX_USING_DMA
0 s& |% m6 N9 {- \8 u                        bool "Enable LPUART1 RX USING DMA"
2 r7 E, Y) i/ T3 I, U                        depends on BSP_USING_LPUART1 && RT_SERIAL_USING_DMA
0 a/ {$ h3 z+ z5 p3 h8 u) F                        default n& j5 `; Y" j- p
                    config BSP_LPUART1_TX_USING_DMA
6 A& M+ h4 m2 X  \; r, ^0 H( q2 {- \  H                        bool "Enable LPUART1 TX USING DMA"" h$ X$ x9 \( |5 P- a( c  y
                        depends on BSP_USING_LPUART1 && RT_SERIAL_USING_DMA/ ], `, B" O: h  J$ B+ B
                        default n
- l, T' j0 I9 X" n+ ]                endif( @- ]5 H  e: x3 V





欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2