#ifndef _UART_H_ #define _UART_H_ #include "define_all.h" #define UART0_RECV_BUFF_LEN_MAX 200 // ÉÏλ»ú¼æ±»²É¼¯Æ÷²É¼¯Êý¾Ý #define UP_COMM_TX_PORT GPIOA #define UP_COMM_TX_PIN GPIO_Pin_9 #define UP_COMM_RX_PORT GPIOA #define UP_COMM_RX_PIN GPIO_Pin_8 #define UP_COMM_RE_PORT GPIOA #define UP_COMM_RE_PIN GPIO_Pin_10 #define UP_COMM_RE_RECV_EN GPIO_ResetBits(UP_COMM_RE_PORT,UP_COMM_RE_PIN) #define UP_COMM_RE_SEND_EN GPIO_SetBits(UP_COMM_RE_PORT,UP_COMM_RE_PIN) #define UP_COMM_UARTX UART5 #define UP_COMM_UARTX_IRQn UART5_IRQn #define UP_COMM_RECV_BUFF_LEN_MAX 1024 #define UP_COMM_DMA_CHX DMA_CH2 //RS485¶ÁÈ¡Á÷Á¿¼Æ #define RS485_READ_DATA_TX_PORT GPIOB #define RS485_READ_DATA_TX_PIN GPIO_Pin_1 #define RS485_READ_DATA_RX_PORT GPIOB #define RS485_READ_DATA_RX_PIN GPIO_Pin_0 #define RS485_READ_DATA_UARTX UART1 #define RS485_READ_DATA_UARTX_IRQn UART1_IRQn #define RS485_READ_DATA_RECV_BUFF_LEN_MAX 256 #define RS485_READ_DATA_DMA_CHX DMA_CH3 // Ô¶´«TX UART5 #define WRC_TX_PORT GPIOE #define WRC_TX_PIN GPIO_Pin_4 #define WRC_RX_PORT GPIOE #define WRC_RX_PIN GPIO_Pin_3 #define WRC_UARTX UART1 #define WRC_UARTX_IRQn UART1_IRQn #define WRC_RECV_BUFF_LEN_MAX 1024 #define WRC_DMA_CHX DMA_CH3 #pragma pack(1) typedef struct { FlagStatus WRC_rxto_flag; //½ÓÊÕ³¬Ê±ÖжϱêÖ¾ FlagStatus RS485_rxto_flag; //½ÓÊÕ³¬Ê±ÖжϱêÖ¾ FlagStatus UP_COMM_rxto_flag; //½ÓÊÕ³¬Ê±ÖжϱêÖ¾,//Ö»ÓÐuart0ºÍuart1ÓнÓÊÕ³¬Ê±ÖÐ¶Ï }UART_CTRL_PARA_T; #pragma pack() extern u16 USART_RX_STA; //½ÓÊÕ״̬±ê¼Ç extern uint8_t RS485_read_data_recv_buff[RS485_READ_DATA_RECV_BUFF_LEN_MAX]; extern uint8_t up_comm_recv_buff[UP_COMM_RECV_BUFF_LEN_MAX]; extern uint8_t WRC_recv_buff[WRC_RECV_BUFF_LEN_MAX]; extern UART_CTRL_PARA_T uart_ctrl_para_g; void RS485_read_data_uart_Init(uint32_t BaudRate,UART_ParityBitTypeDef ParityBit,UART_StopBitTypeDef StopBit); void RS485_read_data_RX_DMA_CH3_Init(void); void RS485_read_data_RX_DMA_CH3_reload(void); void up_comm_uart_Init(uint32_t BaudRate,UART_ParityBitTypeDef ParityBit,UART_StopBitTypeDef StopBit); void up_comm_RX_DMA_CH2_Init(void); void up_comm_RX_DMA_CH2_reload(void); void WRC_uart_Init(uint32_t BaudRate,UART_ParityBitTypeDef ParityBit,UART_StopBitTypeDef StopBit); void WRC_RX_DMA_CH3_Init(void); void WRC_RX_DMA_CH3_reload(void); void UARTx_SendData_Normal(UART_Type* UARTx,uint8_t * pSendData,uint16_t send_len); //void Usmart_RecvDataProcess(UC_RECV_PARA_T *usmart_recv_para_p); #endif