zhyinch
2019-12-14 6e644cfd3663485778937131841fc286ee4174f2
Ô´Âë/ºËÐİå/Src/OnChipDevices/Usart.h
@@ -3,16 +3,58 @@
#define __USART_H__
#include "stm32f10x.h"
//#define BAUDRATE_19200
#define USART_TX_pin         GPIO_Pin_9
#define USART_RX_pin         GPIO_Pin_10
#define USART_GPIO            GPIOA
#define EXT_USART            USART1
#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 BAUD_RATE            115200
//#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
#ifdef BAUDRATE_19200
#define   EXUART_BAUD_RADE      19200
#else
#define   EXUART_BAUD_RADE      115200
#endif
void Usart_Init(void);
#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);
#endif