#ifndef _USART_H #define _USART_H #include "sys.h" #include "string.h" #include "stdio.h" ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它任何用途 //ALIENTEK STM32F429开发板 //串口1初始化 //正点原子@ALIENTEK //技术论坛:www.openedv.csom //修改日期:2015/6/23 //版本:V1.0 //版权所有,盗版必究。 //Copyright(C) 正点原子 2009-2019 //All rights reserved //******************************************************************************** //V1.0修改说明 ////////////////////////////////////////////////////////////////////////////////// #define USART_REC_LEN 2000 //定义最大接收字节数 200 #define EN_USART1_RX 1 //使能(1)/禁止(0)串口1接收 extern u8 USART_RX_BUF[USART_REC_LEN]; //接收缓冲,最大USART_REC_LEN个字节.末字节为换行符 extern u16 USART_RX_STA; //接收状态标记 extern u16 USART2_RX_STA; //接收状态标记 extern u16 USART3_RX_STA; //接收状态标记 extern UART_HandleTypeDef UART1_Handler;//UART句柄 extern UART_HandleTypeDef UART2_Handler; extern UART_HandleTypeDef UART3_Handler; #define RXBUFFERSIZE 1 //缓存大小 extern u8 USART_RX_BUF[USART_REC_LEN]; //接收缓冲,最大USART_REC_LEN个字节. extern u8 USART2_RX_BUF[USART_REC_LEN]; //接收缓冲,最大USART_REC_LEN个字节. extern u8 aRxBuffer1[RXBUFFERSIZE];//HAL库使用的串口接收缓冲 extern u8 aRxBuffer2[RXBUFFERSIZE];//HAL库使用的串口接收缓冲 extern u8 aRxBuffer3[RXBUFFERSIZE];//HAL库使用的串口接收缓冲 USART3_MAX_RECV_LEN //如果想串口中断接收,请不要注释以下宏定义 void usart_init1(u32 bound); void usart_init2(u32 bound); void usart_init3(u32 bound); extern u8 RX1_len; //USART3.H内容 #define USART3_MAX_RECV_LEN 2048 //最大接收缓存字节数 #define USART3_MAX_SEND_LEN 600 //最大发送缓存字节数 #define USART3_RX_EN 1 //0,不接收;1,接收. extern u8 USART3_RX_BUF[USART3_MAX_RECV_LEN]; //接收缓冲,最大USART3_MAX_RECV_LEN字节 extern u8 USART3_TX_BUF[USART3_MAX_SEND_LEN]; //发送缓冲,最大USART3_MAX_SEND_LEN字节 //EM800M_USART.H内容: #define BUFLEN 10240 //数组缓存大小 typedef struct _UART_BUF { char buf [BUFLEN+1]; unsigned int index ; }UART_BUF; void Uart2_SendStr(char*SendBuf); void Uart1_SendStr(char*SendBuf); void USART2_Send(char *Data,uint16_t Len); void Clear_Buffer_UART1(void); #endif