46 lines
2.0 KiB
C
46 lines
2.0 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 UART_HandleTypeDef huart4; /* WiFi ESP-01S (PC10=TX, PC11=RX) */
|
||
extern UART_HandleTypeDef huart5; /* HLW8032 计量芯片 (PD2=RX, 只收) */
|
||
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];
|
||
|
||
extern volatile uint32_t g_uart4_rxcplt_cnt; /* DMA 填满重启次数(诊断) */
|
||
extern volatile uint32_t g_uart4_ore_cnt; /* 溢出错误次数(诊断) */
|
||
|
||
void MX_USART1_UART_Init(void);
|
||
void MX_USART2_UART_Init(void);
|
||
void MX_USART3_UART_Init(void);
|
||
void MX_UART4_UART_Init(void);
|
||
void MX_UART5_UART_Init(void);
|
||
void USART3_StartRx(void); /* 启动 USART3 DMA+IDLE 接收 */
|
||
void USART3_StopRx(void); /* 停止 USART3 DMA 接收(切 WiFi 通道时调用,释放共享 Rx_Buf) */
|
||
void USART3_SetBaudRate(uint32_t baud); /* 运行中切换 USART3 波特率 */
|
||
void UART4_StartRx(void); /* 启动 UART4 DMA+IDLE 接收(与 USART3 复用 Rx_Buf,互斥使用) */
|
||
void UART4_StopRx(void); /* 停止 UART4 DMA 接收 */
|
||
void UART4_SetBaudRate(uint32_t baud); /* 运行中切换 UART4 波特率 */
|
||
void USART1_StartRx(void); /* 启动 USART1 中断接收 */
|
||
void USART2_StartRx(void); /* 启动 USART2 中断接收 */
|
||
void UART5_StartRx(void); /* 启动 UART5 中断接收(HLW8032) */
|
||
void USART2_Tick(void); /* 触发 USART2 帧超时自动提交 */
|
||
uint16_t USART2_GetFrame(uint8_t *out, uint16_t out_size);
|
||
void USART2_FlushRxBuf(void);
|
||
extern volatile uint32_t g_uart2_rx_byte_cnt;
|
||
uint16_t USART2_GetRxIndex(void); /* USART2 收字节计数(485 排障) */ /* 清 USART2 软件接收缓冲(485 查询前调用,不动硬件) */ /* 从 USART2 取一帧原始字节 */
|
||
int USART1_CheckCommand(const char *cmd); /* 检查是否收到指定命令(不区分大小写) */
|
||
const char *USART1_GetCommand(void); /* 获取当前接收到的命令字符串 */
|
||
|
||
#endif
|