一、风压计简介
风压(wind pressure)由于通风管道的阻挡,使四周空气受阻,动压下降,静压升高。侧面和背面产生局部涡流,静压下降,动压升高。和远处未受干扰的气流相比,这种静压的升高和降低统称为风压。
在航空航天领域,“风压” 本质上是气流与飞行器表面相互作用产生的压力(包括静压、动压及压力差)的宏观表现,其分布和变化直接影响飞行器的气动性能、结构设计、飞行控制及任务安全。

风压计是一种用于测量气流对物体表面产生压力(即风压)的仪器,广泛应用于气象、航空航天、建筑、能源、环境监测等多个领域。其核心功能是通过感知流体(通常是空气)的压力变化,将物理量转化为可读取的电信号或机械指示,从而实现对风压的定量测量。

某款硬件层采用485,软件层采用Modbus-RTU通信的风压计通信规律如下图所示:

二、主机端(控制器)的Modbus-RTU驱动框架

驱动框架难度不大,但是有一个核心问题:
由于Modbus的报文不带长度信息或结束符,我们该如何判断一个报文发送结束呢?
因为大多Modbus设备都是一问一答的,我们利用这个特点,可以设计一个简单的规则。
(1)UART中断负责读取485单字节信号并装进队列,每处理一次就置位计时变量
(2)定时器负责监测计时变量,若信号超过3~7ms(因多种因素决定,需要调)则判定为超时,开始强制解析信号,解析完毕后再次发请求。(直接用systick就行,一个中断1ms)
利用定时器+串口中断协同的方法,就可以判断何时一个报文传输完毕了。
三、代码示例
(1)main.c
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



