#ifndef __USART_H__ #define __USART_H__ #include "main.h" //#define BAUDRATE_19200 #define EU_485_PIN GPIO_PIN_7 #define EU_485_GPIO GPIOB #define OUT485_ENABLE GPIO_WriteBit(EU_485_GPIO, EU_485_PIN, Bit_SET); #define OUT485_DISABLE GPIO_WriteBit(EU_485_GPIO, EU_485_PIN, Bit_RESET); //#define UART_GPIO_REMAP_ENABLE #ifdef UART_GPIO_REMAP_ENABLE #define UART_GPIO_REMAP GPIO_Remap_USART1 #define EU_RCC_GPIO RCC_APB2Periph_GPIOB #define EU_TX_PIN GPIO_Pin_6 #define EU_RX_PIN GPIO_Pin_7 #define EU_RX_GPIO GPIOB #define EU_TX_GPIO GPIOB #else #define EU_RCC_GPIO RCC_APB2Periph_GPIOA #define EU_TX_PIN GPIO_PIN9 #define EU_RX_PIN GPIO_PIN_10 #define EU_RX_GPIO GPIOA #define EU_TX_GPIO GPIOA #endif #ifdef BAUDRATE_19200 #define EXUART_BAUD_RADE 19200 #else #define EXUART_BAUD_RADE 115200 #endif #define EUART_RX_DMA_CH DMA1_Channel3 #define EUART_TX_DMA_CH DMA1_Channel2 #define EUART_TX_FRM_SIZE 14 //·¢ËͶÓÁÐÖеÄ×î´óÖ¡Êý #define EUART_TX_FRMBUF_SIZE 200 //·¢ËͶÓÁÐÿ֡»º´æ´óС #define EUART_RX_BUF_SIZE 200 //½ÓÊÕ»º´æ´óС #define EXT_UART USART1 #define EXT_UART_RCC RCC_APB2Periph_USART1 typedef struct _EUART_Frame { //Êý¾Ý·¢ËÍÖ¡¶ÓÁнṹÌå int32_t len; //Ö¡³¤¶È uint8_t buf[EUART_TX_FRMBUF_SIZE]; //Ö¡Êý¾Ý } EUART_Frame; void Uart1_Init(void); void UART_CheckReceive(void); void UART_CheckSend(void); void UART_PushFrame(uint8_t* pdata, int32_t data_len); void UART_PopFrame(void); extern void (*Usart1ParseDataCallback)(uint8_t); extern uint8_t m_EUART_DMA_RXBuf[EUART_RX_BUF_SIZE]; #endif