#ifndef __USART_H__ #define __USART_H__ #include "stm32f10x.h" #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_Pin_9 #define EU_RX_PIN GPIO_Pin_10 #define EU_RX_GPIO GPIOA #define EU_TX_GPIO GPIOA #endif #define EXUART_BAUD_RADE 115200 #define EUART_RX_DMA_CH DMA1_Channel5 #define EUART_TX_DMA_CH DMA1_Channel4 #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); ////////////////////////////////////////////////////////// #define EXT_UART2 USART2 #define UART2_RX_DMA_CH DMA1_Channel6 #endif