mirror of
https://github.com/HChaZZY/LoRaWAN_Project.git
synced 2025-12-06 10:33:51 +08:00
153 lines
5.3 KiB
C
153 lines
5.3 KiB
C
/**
|
||
******************************************************************************
|
||
* File Name : USART.h
|
||
* Description : This file provides code for the configuration
|
||
* of the USART instances.
|
||
******************************************************************************
|
||
*
|
||
* COPYRIGHT(c) 2017 STMicroelectronics
|
||
*
|
||
* Redistribution and use in source and binary forms, with or without modification,
|
||
* are permitted provided that the following conditions are met:
|
||
* 1. Redistributions of source code must retain the above copyright notice,
|
||
* this list of conditions and the following disclaimer.
|
||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||
* this list of conditions and the following disclaimer in the documentation
|
||
* and/or other materials provided with the distribution.
|
||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||
* may be used to endorse or promote products derived from this software
|
||
* without specific prior written permission.
|
||
*
|
||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
*
|
||
******************************************************************************
|
||
*/
|
||
/* Define to prevent recursive inclusion -------------------------------------*/
|
||
#ifndef __usart_H
|
||
#define __usart_H
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
/* Includes ------------------------------------------------------------------*/
|
||
#include "stm32l4xx_hal.h"
|
||
#include "main.h"
|
||
|
||
|
||
/*-------------<2D><><EFBFBD>ݾ<EFBFBD><DDBE><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>º궨<C2BA><EAB6A8><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>ʵ<EFBFBD><CAB5>---------------*/
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڷ<EFBFBD><DAB7>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ij<EFBFBD><C4B3>ȷ<EFBFBD><C8B7>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||
#define UART_TO_MODULE_WRITE_DATA(buffer, size) lpusart1_send_data(buffer, size)
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڷ<EFBFBD><DAB7>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD>\0<><30><EFBFBD><EFBFBD> */
|
||
#define UART_TO_LRM_WRITE_STRING(buffer) lpusart1_send_string(buffer)
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڽ<EFBFBD><DABD>ջ<EFBFBD><D5BB>壬Ŀǰ<C4BF><C7B0><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>жϼ<D0B6>BUFFER<45><52><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>FIFO<46><4F>ʽ */
|
||
#define UART_TO_LRM_RECEIVE_BUFFER LPUsart1_RX.RX_Buf
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڽ<EFBFBD><DABD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݵı<DDB5><C4B1><EFBFBD> */
|
||
#define UART_TO_LRM_RECEIVE_FLAG LPUsart1_RX.receive_flag
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڱ<EFBFBD><DAB1>ν<EFBFBD><CEBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> */
|
||
#define UART_TO_LRM_RECEIVE_LENGTH LPUsart1_RX.rx_len
|
||
|
||
/*==========================END OF LPUART1 CONFIG================================*/
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڷ<EFBFBD><DAB7>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ij<EFBFBD><C4B3>ȷ<EFBFBD><C8B7>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||
#define UART_TO_PC_WRITE_DATA(buffer, size) usart2_send_data(buffer, size)
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڷ<EFBFBD><DAB7>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD>\0<><30><EFBFBD><EFBFBD> */
|
||
#define UART_TO_PC_WRITE_STRING(buffer) usart2_send_string(buffer)
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڽ<EFBFBD><DABD>ջ<EFBFBD><D5BB>壬Ŀǰ<C4BF><C7B0><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD>֧<EFBFBD><D6A7><EFBFBD>жϼ<D0B6>BUFFER<45><52><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>FIFO<46><4F>ʽ */
|
||
#define UART_TO_PC_RECEIVE_BUFFER Usart2_RX.RX_Buf
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڽ<EFBFBD><DABD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݵı<DDB5><C4B1><EFBFBD> */
|
||
#define UART_TO_PC_RECEIVE_FLAG Usart2_RX.receive_flag
|
||
|
||
/** <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĴ<D3B5><C4B4>ڱ<EFBFBD><DAB1>ν<EFBFBD><CEBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> */
|
||
#define UART_TO_PC_RECEIVE_LENGTH Usart2_RX.rx_len
|
||
|
||
/*==========================END OF USART2 CONFIG================================*/
|
||
|
||
|
||
/* USER CODE BEGIN Private defines */
|
||
#define RECEIVELEN 1024
|
||
#define USART_DMA_SENDING 1
|
||
#define USART_DMA_SENDOVER 0
|
||
|
||
typedef struct
|
||
{
|
||
uint8_t receive_flag;
|
||
uint8_t dmaSend_flag;
|
||
uint16_t rx_len;
|
||
uint8_t RX_Buf[RECEIVELEN];
|
||
} usart_recv_t;
|
||
|
||
extern usart_recv_t Usart1_RX;
|
||
extern usart_recv_t Usart2_RX;
|
||
extern usart_recv_t LPUsart1_RX;
|
||
|
||
/* USER CODE END Private defines */
|
||
|
||
|
||
void MX_LPUART1_Init(uint32_t baudrate);
|
||
void MX_USART2_Init(uint32_t baudrate);
|
||
|
||
void MX_USART1_UART_Init(uint32_t baudrate);
|
||
|
||
/* USER CODE BEGIN Prototypes */
|
||
|
||
void usart2_send_byte(uint8_t data);
|
||
void usart2_send_data(uint8_t *pdata, uint16_t length);
|
||
void usart2_send_string(uint8_t *str);
|
||
void usart2_send_onenumber(uint8_t data);
|
||
void usart2_send_numbers(uint8_t data);
|
||
void USART2_Clear_IT(void);
|
||
void usart2_receive_idle(void);
|
||
|
||
void lpusart1_send_byte(uint8_t data);
|
||
void lpusart1_send_data(uint8_t *pdata, uint16_t length);
|
||
void lpusart1_send_string(uint8_t *pdata);
|
||
void lpusart1_receive_idle(void);
|
||
void LPUART1_Clear_IT(void);
|
||
|
||
void lpuart1_reconfig(uint32_t baudrate);
|
||
void PrepareLPUARTToStopMode(void);
|
||
|
||
|
||
void debug_printf(char *fmt, ...);
|
||
/* USER CODE END Prototypes */
|
||
|
||
void Usart1Receive_IDLE(void);
|
||
void Usart1SendData(uint8_t *pdata, uint16_t Length);
|
||
void UART1_SendByte(uint8_t data);
|
||
void USART1_SendString(uint8_t *str);
|
||
void Clear_UART1_IT(void);
|
||
|
||
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
#endif /*__ usart_H */
|
||
|
||
/**
|
||
* @}
|
||
*/
|
||
|
||
/**
|
||
* @}
|
||
*/
|
||
|
||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|