shuichan_old/V1.1/STM32F103_App1/HardWare/UART/uart.h

31 lines
1.1 KiB
C

#ifndef __UART_H
#define __UART_H
#include "main.h"
#define UART1_RX_BUF_SIZE 64
#define UART2_RX_BUF_SIZE 64
extern UART_HandleTypeDef huart1;
extern UART_HandleTypeDef huart2; /* RS485 喂料秤 */
extern UART_HandleTypeDef huart3; /* 4G Air780E */
extern volatile uint8_t uart1_rx_ready;
extern uint8_t uart1_rx_buf[UART1_RX_BUF_SIZE];
extern volatile uint8_t uart2_rx_ready;
extern uint8_t uart2_rx_buf[UART2_RX_BUF_SIZE];
void MX_USART1_UART_Init(void);
void MX_USART2_UART_Init(void);
void MX_USART3_UART_Init(void);
void USART3_StartRx(void); /* 启动 USART3 DMA+IDLE 接收 */
void USART3_SetBaudRate(uint32_t baud); /* 运行中切换 USART3 波特率 */
void USART1_StartRx(void); /* 启动 USART1 中断接收 */
void USART2_StartRx(void); /* 启动 USART2 中断接收 */
void USART2_Tick(void); /* 触发 USART2 帧超时自动提交 */
uint16_t USART2_GetFrame(uint8_t *out, uint16_t out_size); /* 从 USART2 取一帧原始字节 */
int USART1_CheckCommand(const char *cmd); /* 检查是否收到指定命令(不区分大小写) */
const char *USART1_GetCommand(void); /* 获取当前接收到的命令字符串 */
#endif