1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- #ifndef __HAL_UART_H__
- #define __HAL_UART_H__
- #include "hc32_ll_usart.h"
- #include "hc32_ll_gpio.h"
- #include "hc32_ll_fcg.h"
- #include "hc32_ll_interrupts.h"
- #include "hc32_ll_tmr0.h"
- #include "hc32_ll_tmr4.h"
- #include "ring_buf.h"
- #include "hc32_ll_aos.h"
-
-
- #define RS485_TX_ENABLE GPIO_ResetPins(GPIO_PORT_A, GPIO_PIN_08)
- #define RS485_TX_DISABLE GPIO_SetPins(GPIO_PORT_A, GPIO_PIN_08)
- #define LL_PERIPH_SEL (LL_PERIPH_GPIO | LL_PERIPH_FCG | LL_PERIPH_PWC_CLK_RMU | \
- LL_PERIPH_EFM | LL_PERIPH_SRAM)
- /* DMA definition */
- #define RX_DMA_UNIT (CM_DMA1)
- #define RX_DMA_CH (DMA_CH0)
- #define RX_DMA_FCG_ENABLE() (FCG_Fcg0PeriphClockCmd(FCG0_PERIPH_DMA1, ENABLE))
- #define RX_DMA_TRIG_SEL (AOS_DMA1_0)
- #define RX_DMA_TRIG_EVT_SRC (EVT_SRC_USART2_RI)
- #define RX_DMA_RECONF_TRIG_SEL (AOS_DMA_RC)
- #define RX_DMA_RECONF_TRIG_EVT_SRC (EVT_SRC_AOS_STRG)
- #define RX_DMA_TC_INT (DMA_INT_TC_CH0)
- #define RX_DMA_TC_FLAG (DMA_FLAG_TC_CH0)
- #define RX_DMA_TC_IRQn (INT000_IRQn)
- #define RX_DMA_TC_INT_SRC (INT_SRC_DMA1_TC0)
- #define TX_DMA_UNIT (CM_DMA2)
- #define TX_DMA_CH (DMA_CH0)
- #define TX_DMA_FCG_ENABLE() (FCG_Fcg0PeriphClockCmd(FCG0_PERIPH_DMA2, ENABLE))
- #define TX_DMA_TRIG_SEL (AOS_DMA2_0)
- #define TX_DMA_TRIG_EVT_SRC (EVT_SRC_USART2_TI)
- #define TX_DMA_TC_INT (DMA_INT_TC_CH0)
- #define TX_DMA_TC_FLAG (DMA_FLAG_TC_CH0)
- #define TX_DMA_TC_IRQn (INT001_IRQn)
- #define TX_DMA_TC_INT_SRC (INT_SRC_DMA2_TC0)
- /* Timer0 unit & channel definition */
- #define TMR0_UNIT (CM_TMR0_1)
- #define TMR0_CH (TMR0_CH_B)
- #define TMR0_FCG_ENABLE() (FCG_Fcg2PeriphClockCmd(FCG2_PERIPH_TMR0_1, ENABLE))
- ///* USART RX/TX pin definition */
- #define USART_RX_PORT (GPIO_PORT_A) /* PA10: USART2_RX */
- #define USART_RX_PIN (GPIO_PIN_10)
- #define USART_RX_GPIO_FUNC (GPIO_FUNC_37)
- #define USART_TX_PORT (GPIO_PORT_A) /* PA9: USART2_TX */
- #define USART_TX_PIN (GPIO_PIN_09)
- #define USART_TX_GPIO_FUNC (GPIO_FUNC_36)
- /* USART unit definition */
- #define USART_UNIT (CM_USART2)
- #define USART_FCG_ENABLE() (FCG_Fcg3PeriphClockCmd(FCG3_PERIPH_USART2, ENABLE))
- /* USART baudrate definition */
- #define USART_BAUDRATE (115200UL)
- /* USART timeout bits definition */
- #define USART_TIMEOUT_BITS (2000U)
- /* USART interrupt definition */
- #define USART_TX_CPLT_IRQn (INT002_IRQn)
- #define USART_TX_CPLT_INT_SRC (INT_SRC_USART2_TCI)
- #define USART_RX_ERR_IRQn (INT003_IRQn)
- #define USART_RX_ERR_INT_SRC (INT_SRC_USART2_EI)
- #define USART_RX_TIMEOUT_IRQn (INT004_IRQn)
- #define USART_RX_TIMEOUT_INT_SRC (INT_SRC_USART2_RTO)
- /* Application frame length max definition */
- #define APP_FRAME_LEN_MAX (500U)
- void bsp_uart2_init(void);
- void test_task2(void *pvParameters);
- int32_t rs485_send_data(const void *pvBuf,uint32_t u32Len);
- #endif
|