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