# PID_Study **Repository Path**: flypigbaby/PID_Study ## Basic Information - **Project Name**: PID_Study - **Description**: 江科大学习的程序编写,采用HAL库。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-06 - **Last Updated**: 2025-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PID_Study 项目介绍 ![MCU](https://img.shields.io/badge/MCU-STM32-blue?logo=stmicroelectronics) ![Library](https://img.shields.io/badge/Library-HAL-green) ![Algorithm](https://img.shields.io/badge/Algorithm-PID-orange) ![Docs](https://img.shields.io/badge/Docs-Doxygen-lightgrey?logo=doxygen) ## 项目概述 **PID_Study** 是一个基于 **STM32 平台** 的 PID 控制研究项目,主要实现了 PID 控制算法及相关硬件驱动,适用于学习和研究 PID 控制原理及嵌入式系统应用。 项目包含以下功能: - 传感器数据采集 - PID 控制逻辑 - 硬件驱动 可作为嵌入式控制系统的基础框架。 --- ## 项目结构 | 目录 | 内容 | | ---------------------------------------- | ------------------------------------------------------------------------------------------------------- | | `STM32CubeIDEWorkspace/noRTOS/PID_Study` | 项目主目录 | | `Drivers/` | 硬件驱动目录 | | `Drivers/BSP/Inc/` | 驱动头文件(`RP.h`、`serial.h`、`motor.h`、`u8g2_stm32_hw_iic.h` 等) | | `Drivers/BSP/Src/` | 驱动实现(`RP.c`、`serial.c`、`motor.c`、`u8g2_stm32_hw_iic.c`、`delay.c`、`encoder.c`、`keyled.c` 等) | | `Algorithm/Inc/` | 算法头文件 | | `Algorithm/Src/` | 算法实现(`kalman_filter.c` 等) | | `Application/Src/` | 应用层代码(`pid_control.c`、`key_control.c` 等) | | `docs/html/` | 项目文档(由 **Doxygen** 生成的 HTML 文档) | --- ## 核心功能模块 ### PID 控制模块 - 实现 PID 控制算法及相关滤波功能(`pid_control.c / pid_control.h`) - 支持传感器数据采集与滤波处理(`RP_Read_And_filter_RUN` 函数) ### 硬件驱动模块 - **RP 模块**:初始化(`RP_init`)、数据读取(`RP_Read_block`) - **串口通信**:数据收发(`serial.c / serial.h`) - **OLED 显示**:硬件 I2C 驱动 OLED 屏幕(`u8g2_stm32_hw_iic.c / .h`),配合显示接口(`show.c / show.h`) - **按键与 LED**:按键检测与 LED 控制(`keyled.c / keyled.h`) - **编码器**:编码器驱动(`encoder.c / encoder.h`) - **电机驱动**:电机控制接口(`motor.c / motor.h`) - **延时功能**:基于 DWT 的延时函数(`delay.c / delay.h`) ### 滤波算法 - 单变量卡尔曼滤波器(`kalman_filter.c`) --- ## 文档说明 项目提供由 **Doxygen** 生成的详细文档,位于 `docs/html` 目录下,包含: - 各模块及文件的功能说明 - 函数接口定义与参数说明 - 项目目录结构详解 👉 打开 `docs/html/index.html` 即可在浏览器中查看完整文档。 --- ## 使用说明 - 项目适用于 **STM32 系列微控制器**,需配合 **STM32CubeIDE** 使用。 - 主要头文件与源文件对应关系: - 驱动接口头文件:位于 `Drivers/BSP/Inc` - 驱动实现文件:位于 `Drivers/BSP/Src` - 应用层代码:位于 `Application/Src` - 已配置 `.gitignore` 文件,忽略 `cmake-build-debug/` 目录,避免构建文件提交到版本控制。 ---