escw_mcu_stm32/hal/
uart.rs1use super::HalStatus;
2
3#[repr(C)]
4#[derive(PartialEq, Eq)]
5pub enum State {
6 Reset = 0x00,
7 Ready = 0x20,
8 Busy = 0x24,
9 BusyTx = 0x21,
10 BusyRx = 0x22,
11 BusyTxRx = 0x23,
12 Timeout = 0xA0,
13 Error = 0xE0,
14}
15
16#[repr(C)]
17pub struct Huart {
18 pub instance: u32,
19}
20
21extern "C" {
22 #[cfg(feature = "uart1")]
23 pub static huart1: Huart;
24 #[cfg(feature = "uart2")]
25 pub static huart2: Huart;
26 #[cfg(feature = "uart3")]
27 pub static huart3: Huart;
28 #[cfg(feature = "uart4")]
29 pub static huart4: Huart;
30 #[cfg(feature = "uart5")]
31 pub static huart5: Huart;
32 #[cfg(feature = "uart6")]
33 pub static huart6: Huart;
34 #[cfg(feature = "uart7")]
35 pub static huart7: Huart;
36 #[cfg(feature = "uart8")]
37 pub static huart8: Huart;
38}
39
40extern "C" {
41 pub fn HAL_UART_Transmit(huart: &Huart, pData: *const u8, Size: u16, Timeout: u32)
42 -> HalStatus;
43 pub fn HAL_UART_Receive(huart: &Huart, pData: *const u8, Size: u16, Timeout: u32) -> HalStatus;
44 pub fn HAL_UART_Transmit_IT(huart: &Huart, pData: *const u8, Size: u16) -> HalStatus;
45 pub fn HAL_UART_Receive_IT(huart: &Huart, pData: *const u8, Size: u16) -> HalStatus;
46 pub fn HAL_UART_Transmit_DMA(huart: &Huart, pData: *const u8, Size: u16) -> HalStatus;
47 pub fn HAL_UART_Receive_DMA(huart: &Huart, pData: *const u8, Size: u16) -> HalStatus;
48 pub fn HAL_UART_Abort(huart: &Huart) -> HalStatus;
49 pub fn HAL_UART_AbortTransmit(huart: &Huart) -> HalStatus;
50 pub fn HAL_UART_AbortReceive(huart: &Huart) -> HalStatus;
51 pub fn HAL_UART_Abort_IT(huart: &Huart) -> HalStatus;
52 pub fn HAL_UART_AbortTransmit_IT(huart: &Huart) -> HalStatus;
53 pub fn HAL_UART_AbortReceive_IT(huart: &Huart) -> HalStatus;
54 pub fn HAL_UARTEx_ReceiveToIdle(
55 huart: &Huart,
56 pData: *const u8,
57 Size: u16,
58 RxLen: &u16,
59 Timeout: u32,
60 ) -> HalStatus;
61 pub fn HAL_UARTEx_ReceiveToIdle_IT(huart: &Huart, pData: *const u8, Size: u16) -> HalStatus;
62 pub fn HAL_UARTEx_ReceiveToIdle_DMA(huart: &Huart, pData: *const u8, Size: u16) -> HalStatus;
63 pub fn HAL_UART_GetState(huart: &Huart) -> State;
64}