#ifndef __USART_H__ #define __USART_H__ //#include "main.h" #include "stdint.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 2 //·¢ËͶÓÁÐÖеÄ×î´óÖ¡Êý #define EUART_TX_FRMBUF_SIZE 100 //·¢ËͶÓÁÐÿ֡»º´æ´óС #define EUART_RX_BUF_SIZE 512 //½ÓÊÕ»º´æ´óС #define EUART0_RX_BUF_SIZE 512 //½ÓÊÕ»º´æ´óС #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 UART0_CheckReceive(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 void (*Usart0ParseDataCallback)(uint8_t); #define USART_TX_BUF_SIZE 50 //·¢ËÍ»º´æ´óС #define USART_RX_BUF_SIZE 100 //½ÓÊÕ»º´æ´óС extern uint8_t m_EUART_DMA_RXBuf[EUART_RX_BUF_SIZE]; extern uint8_t m_EUART0_DMA_RXBuf[EUART0_RX_BUF_SIZE]; extern uint8_t USART_DMA_RXBuf[USART_RX_BUF_SIZE]; //USART2 DMAÊý¾Ý½ÓÊÕ»º´æ //void Uart2_SendString( uint8_t *str); //extern void Uart2_SendString( uint8_t *str); //void Uart2_SendStr_length( uint8_t *str,uint32_t strlen ); //extern void Uart2_SendStr_length( uint8_t *str,uint32_t strlen ); #endif