@@ -41,6 +41,8 @@ use crate::time::{Bps, U32Ext};
41
41
// feature = "stm32l4s7",
42
42
feature = "stm32l4r9" ,
43
43
feature = "stm32l4s9" ,
44
+ feature = "stm32l433" ,
45
+ feature = "stm32l431" ,
44
46
) ) ]
45
47
use crate :: dma:: dma2;
46
48
@@ -221,10 +223,16 @@ pub struct Tx<USART> {
221
223
}
222
224
223
225
macro_rules! potentially_uncompilable {
224
- ( true , $expr: expr) => { $expr } ;
226
+ ( true , $expr: expr) => {
227
+ $expr
228
+ } ;
225
229
( false , $expr: expr) => { } ;
226
- ( true , $expr_true: expr, $expr_false: expr) => { $expr_true } ;
227
- ( false , $expr_true: expr, $expr_false: expr) => { $expr_false } ;
230
+ ( true , $expr_true: expr, $expr_false: expr) => {
231
+ $expr_true
232
+ } ;
233
+ ( false , $expr_true: expr, $expr_false: expr) => {
234
+ $expr_false
235
+ } ;
228
236
}
229
237
230
238
macro_rules! hal {
@@ -281,7 +289,7 @@ macro_rules! hal {
281
289
match config. oversampling {
282
290
Oversampling :: Over8 => {
283
291
let uartdiv = 2 * clocks. $pclkX( ) . raw( ) / config. baudrate. 0 ;
284
- assert!( uartdiv >= 16 , "impossible baud rate" ) ;
292
+ assert!( uartdiv >= 16 , "impossible baud rate 1 " ) ;
285
293
286
294
let lower = ( uartdiv & 0xf ) >> 1 ;
287
295
let brr = ( uartdiv & !0xf ) | lower;
@@ -291,7 +299,7 @@ macro_rules! hal {
291
299
}
292
300
Oversampling :: Over16 => {
293
301
let brr = clocks. $pclkX( ) . raw( ) / config. baudrate. 0 ;
294
- assert!( brr >= 16 , "impossible baud rate" ) ;
302
+ assert!( brr >= 16 , "impossible baud rate 2 " ) ;
295
303
296
304
usart. brr. write( |w| unsafe { w. bits( brr) } ) ;
297
305
}
@@ -303,9 +311,9 @@ macro_rules! hal {
303
311
LpUart1ClockSource :: Pclk => clocks. $pclkX( ) . raw( ) ,
304
312
LpUart1ClockSource :: Sysclk => clocks. sysclk( ) . raw( ) ,
305
313
LpUart1ClockSource :: Hsi16 => 16_000_000 ,
306
- LpUart1ClockSource :: Lsi => 32_768 ,
314
+ LpUart1ClockSource :: Lse => 32_768 ,
307
315
} ;
308
- assert!( ( fck >= 3 * config. baudrate. 0 ) && ( fck <= 4096 * config. baudrate. 0 ) , "impossible baud rate" ) ;
316
+ assert!( ( fck >= 3 * config. baudrate. 0 ) && ( fck <= 4096 * config. baudrate. 0 ) , "impossible baud rate 3 " ) ;
309
317
let brr = 256u64 * ( fck as u64 ) / config. baudrate. 0 as u64 ;
310
318
let brr = brr as u32 ;
311
319
usart. brr. write( |w| unsafe { w. bits( brr) } ) ;
@@ -935,6 +943,11 @@ hal! {
935
943
LPUART1 : ( lpuart1, pclk1, tx: ( TxDmaL1 , dma2:: C6 , DmaInput :: LpUart1Tx ) , rx: ( RxDmaL1 , dma2:: C7 , DmaInput :: LpUart1Rx ) , false , ) ,
936
944
}
937
945
946
+ #[ cfg( any( feature = "stm32l431" , feature = "stm32l433" , ) ) ]
947
+ hal ! {
948
+ LPUART1 : ( lpuart1, pclk1, tx: ( TxDmaL1 , dma2:: C6 , DmaInput :: LpUart1Tx ) , rx: ( RxDmaL1 , dma2:: C7 , DmaInput :: LpUart1Rx ) , false , ) ,
949
+ }
950
+
938
951
impl < USART , PINS > fmt:: Write for Serial < USART , PINS >
939
952
where
940
953
Serial < USART , PINS > : crate :: hal:: serial:: Write < u8 > ,
@@ -1173,6 +1186,8 @@ impl_pin_traits! {
1173
1186
// feature = "stm32l4s7",
1174
1187
// feature = "stm32l4r9",
1175
1188
// feature = "stm32l4s9",
1189
+ feature = "stm32l433" ,
1190
+ feature = "stm32l431" ,
1176
1191
) ) ]
1177
1192
impl_pin_traits ! {
1178
1193
LPUART1 : {
0 commit comments