/** ******************************** STM32F10x ********************************* * @文件名 : usart.h * @作者 : sun * @库版本 : V3.5.0 * @文件版本 : V1.0.0 * @日期 : 2016年05月09日 * @摘要 : USART头文件 ******************************************************************************/ /* 定义防止递归包含 ----------------------------------------------------------*/ #ifndef _USART_H #define _USART_H /* 包含的头文件 --------------------------------------------------------------*/ #include "stm32f10x.h" #include "stdio.h" #define DEBUG_EN 1 #ifdef DEBUG_EN #include #define DEBUG(fmt, x...) \ do \ { \ printf(fmt,##x); \ }while(0) #define DEBUG1(fmt, x...) \ do \ { \ printf("%s(Line %d): "fmt,__FUNCTION__,__LINE__, ##x); \ }while(0) #define DEBUG2(fmt, x...) \ do \ { \ USART_printfHex(fmt,##x); \ }while(0) #define DEBUG_F(fmt, x...) \ do \ { \ printf("%s %s(Line %d): "fmt,__FILE__,__FUNCTION__,__LINE__, ##x); \ }while(0) #else #define DEBUG(fmt, x...) #define DEBUG1(fmt, x...) #define DEBUG2(fmt, x...) #define DEBUG_F(fmt, x...) #endif #define MAXLOADLEN 128 #define SYSTEMTICK_PERIOD_MS 1 //滴答时基,单位ms,缺省值10ms /********************uart1****************************/ #define USART1_BAUDRATE 115200 //波特率,缺省值115200 #define USART1_BUF_SIZE 128 //接收一、二级缓冲区大小,缺省值2000 #define USART1_RECEIVE_OVERTIME 100 //字节超时时间, 单位为ms,缺省值100ms extern uint8_t USART1_ready_buf[]; extern volatile uint8_t USART1_ready_buf_ok; extern volatile uint16_t USART1_ready_buf_len; #define USART2_BAUDRATE 115200 //波特率,缺省值115200 #define USART2_BUF_SIZE 128 //接收一、二级缓冲区大小,缺省值2000 #define USART2_RECEIVE_OVERTIME 100 //字节超时时间, 单位为ms,缺省值100ms extern uint8_t USART2_ready_buf[]; extern volatile uint8_t USART2_ready_buf_ok; extern volatile uint16_t USART2_ready_buf_len; #define UART4_BAUDRATE 115200 //波特率,缺省值115200 #define UART4_BUF_SIZE 128 //接收一、二级缓冲区大小,缺省值2000 #define UART4_RECEIVE_OVERTIME 100 //字节超时时间, 单位为ms,缺省值100ms extern uint8_t UART4_ready_buf[]; extern volatile uint8_t UART4_ready_buf_ok; extern volatile uint8_t UART4_ready_buf_len; #define UART5_BAUDRATE 9600 //波特率,缺省值115200 #define UART5_BUF_SIZE 128 //接收一、二级缓冲区大小,缺省值2000 #define UART5_RECEIVE_OVERTIME 100 //字节超时时间, 单位为ms,缺省值100ms extern uint8_t UART5_ready_buf[]; extern volatile uint8_t UART5_ready_buf_ok; extern volatile uint16_t UART5_ready_buf_len; /* 函数申明 ------------------------------------------------------------------*/ void USART_Initializes(void); void USART1_SendByte(uint8_t Data); void USART1_SendNByte(uint8_t *pData, uint16_t Length); void USART1_Printf(uint8_t *String); void USART2_SendByte(uint8_t Data); void USART2_SendNByte(uint8_t *pData, uint16_t Length); void USART2_Printf(uint8_t *String); void UART4_SendByte(uint8_t Data); void UART4_SendNByte(uint8_t *pData, uint16_t Length); void UART4_Printf(uint8_t *String); void UART5_SendByte(uint8_t Data); void UART5_SendNByte(uint8_t *pData, uint16_t Length); void UART5_Printf(uint8_t *String); void USART_ReceiveOvertimeProcess(void); void USART_printfHex(const uint8_t* SendChars,uint16_t len); uint8_t Ascii2Hex(uint8_t *hex, uint8_t *ascii, uint8_t asciiLen); uint8_t Hex2Ascii(uint8_t *ascii, uint8_t *hex, uint8_t hexLen); void UsartToLora(void ); extern volatile uint8_t m_state_code; typedef enum { M_STATE_IDLE=0, M_STATE_ERASE_APP1, M_STATE_ERASE_APP2, M_STATE_ERASE_APP3, M_STATE_CP_APP1_APP2, M_STATE_CP_APP3_APP1, M_STATE_CP_APP2_APP1, M_STATE_RD_APP1, M_STATE_RD_APP2, M_STATE_RD_APP3, M_STATE_RUN_APP1, M_STATE_GET_INFO, M_STATE_RST } t_mStateCodes; extern uint32_t usart2_cmd_time_out; extern uint32_t usart2_cmd_time_counter; #endif /* _USART_H */ /**** Copyright (C)2016 sun. All Rights Reserved **** END OF FILE ****/