stm32_ota/SYSTEM/USART/usart.h

88 lines
4.4 KiB
C
Raw Normal View History

2023-12-15 06:28:06 +00:00
#ifndef __USART_H
#define __USART_H
#include <stdio.h>
#include <stdarg.h>
#include <stdbool.h>
#include "misc.h"
#include "sys.h"
#include "stm32f10x.h"
#include "stm32f10x_usart.h"
#include "stm32f10x_it.h"
#include "dma.h"
#include "syslib.h"
/****************************************************************************
* <EFBFBD><EFBFBD><EFBFBD>ⲿʹ<EFBFBD>õij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************************************************/
/****************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************************************************/
#define UART_DEBUG COM5 //log<6F><67><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD><D8B6><EFBFBD>
#define UARTx_DMATX_EN 1 //uart1`uart4<74><34><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD>Ƿ<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2023-12-20 10:22:52 +00:00
#define UART1_DMA_RX_MAXLEN 2560 //<2F><><EFBFBD><EFBFBD>1 DMA<4D><41><EFBFBD><EFBFBD>һ֡<D2BB><D6A1><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>󳤶<EFBFBD>
2023-12-15 06:28:06 +00:00
#define UART2_DMA_RX_MAXLEN 256 //<2F><><EFBFBD><EFBFBD>2 DMA<4D><41><EFBFBD><EFBFBD>һ֡<D2BB><D6A1><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>󳤶<EFBFBD>
#define UART3_DMA_RX_MAXLEN (1024*3) //<2F><><EFBFBD><EFBFBD>3 DMA<4D><41><EFBFBD><EFBFBD>һ֡<D2BB><D6A1><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>󳤶<EFBFBD>
#define UART4_DMA_RX_MAXLEN 256 //<2F><><EFBFBD><EFBFBD>4 DMA<4D><41><EFBFBD><EFBFBD>һ֡<D2BB><D6A1><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>󳤶<EFBFBD>
#define UART5_RX_MAXLEN 256 //<2F><><EFBFBD><EFBFBD>5 <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD>
/****************************************************************************
* ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LOG<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************************************************/
#define SysErr(...) {printf("LogErr: %s,%d",__FILE__, __LINE__); printf(__VA_ARGS__) ;} //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
#ifdef OPENSYSLOG
#define SysLog(...) {printf("LogSys: "); printf(__VA_ARGS__) ;} //<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3>־
#else
#define SysLog(...)
#endif
/*****************************************
*<EFBFBD>ж<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************/
typedef void (*UARTFP)(char *recvBuf, uint16_t recvLen) ; //<2F><><EFBFBD><EFBFBD><E5BAAF>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>
/****************************************************************************
* <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************************************************/
typedef enum
{
COM1 = 0 ,
COM2 = 1 ,
COM3 = 2 ,
COM4 = 3 ,
COM5 = 4 ,
COMSUM = 5
}COM_e ; /*<2A>˿ں<CBBF>*/
/****************************************************************************/
/********************************************************************************
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ʹ<EFBFBD>õĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************************************************************/
void Uart_Hook(COM_e eCOMn, char *recvBuf, uint16_t recvLen) ; //<2F><><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>
void UARTx_DmaTx_Init(COM_e eCOMn) ; //<2F><><EFBFBD><EFBFBD>DMA<4D><41><EFBFBD>ͳ<EFBFBD>ʼ<EFBFBD><CABC>
void UARTx_DmaRx_Init(COM_e eCOMn ) ; //<2F><><EFBFBD><EFBFBD>DMA<4D><41><EFBFBD>ճ<EFBFBD>ʼ<EFBFBD><CABC>
void UART1_DMA_TX_TC_Callback_Functions(void) ; //<2F><><EFBFBD><EFBFBD>1DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void UART2_DMA_TX_TC_Callback_Functions(void) ; //<2F><><EFBFBD><EFBFBD>2DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void UART3_DMA_TX_TC_Callback_Functions(void) ; //<2F><><EFBFBD><EFBFBD>3DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void UART4_DMA_TX_TC_Callback_Functions(void) ; //<2F><><EFBFBD><EFBFBD>4DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void UART1_DMA_RX_TC_Callback_Functions(void) ; //<2F><><EFBFBD><EFBFBD>1DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void UART2_DMA_RX_TC_Callback_Functions(void) ; //<2F><><EFBFBD><EFBFBD>2DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void UART3_DMA_RX_TC_Callback_Functions(void) ; //<2F><><EFBFBD><EFBFBD>3DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
void UART4_DMA_RX_TC_Callback_Functions(void) ; //<2F><><EFBFBD><EFBFBD>4DMA<4D><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
/********************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************************************************************/
extern void UARTx_Init(COM_e eCOMn, uint32_t baudrate, uint16_t uartMode, IntPriority_e ePriority) ; //<2F><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
extern void UARTx_SendData(COM_e eCOMn, const char *Data, uint16_t len); //<2F><><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD>len<65><6E><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>
extern void UARTx_SendString(COM_e eCOMn, uint8_t *sendString,...) ; //<2F><><EFBFBD>ڷ<EFBFBD><DAB7>Ϳɱ䳤<C9B1><E4B3A4><EFBFBD><EFBFBD>
extern UARTFP Uart_RegHookCallback(COM_e eCOMn, UARTFP pCallback) ; //<2F><><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><E1BAAF>
extern void USART1_IRQHandler(void) ; //<2F><><EFBFBD><EFBFBD>1<EFBFBD>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern void USART2_IRQHandler(void) ; //<2F><><EFBFBD><EFBFBD>2<EFBFBD>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern void USART3_IRQHandler(void) ; //<2F><><EFBFBD><EFBFBD>3<EFBFBD>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern void UART4_IRQHandler(void) ; //<2F><><EFBFBD><EFBFBD>4<EFBFBD>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern void UART5_IRQHandler(void) ; //<2F><><EFBFBD><EFBFBD>5<EFBFBD>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif