# 自定义控制器 **Repository Path**: ibst/custom-controller ## Basic Information - **Project Name**: 自定义控制器 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-31 - **Last Updated**: 2025-12-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: 自定义, stm32, ADC, DMA, uart ## README # Custom Controller 项目说明 ## 项目简介 本项目是为 STM32F1 系列微控制器设计的定制控制器固件。它主要用于机器人关节控制,包含 ADC、定时器、GPIO 和串口通信等外设驱动。 ## 主要功能 - 读取电位器角度数据 - 实现关节角度滤波 - 控制吸盘气泵 - 通过串口发送控制数据 - 实现防抖滤波算法 ## 硬件要求 - STM32F1 系列微控制器 - 电位器传感器 - 吸盘气泵装置 - 串口通信模块 ## 软件结构 - `joint.c/h`: 关节控制核心逻辑 - `bsp_adc.c/h`: ADC 驱动 - `bsp_tim.c/h`: 定时器驱动 - `bsp_gpio.c/h`: GPIO 驱动 - `bsp_usart.c/h`: 串口通信驱动 - `main.c`: 系统初始化和主循环 ## 使用说明 1. 连接电位器到指定 ADC 通道 2. 连接吸盘气泵到指定 GPIO 3. 配置串口通信参数 4. 在 main 函数中初始化各外设 5. 在主循环中调用 joint_execute() 进行关节控制 ## 重要函数 - `joint_init()`: 初始化关节控制模块 - `joint_execute()`: 执行关节控制循环 - `joint_data_make()`: 生成并发送关节数据包 - `debounce_filter()`: 防抖滤波算法 - `joint_angle_make()`: 电位器角度计算 ## 数据结构 - `joint_TypeDef`: 关节控制数据结构体 - `potentionmeter_TypeDef`: 电位器配置结构体 - `sucker_TypeDef`: 吸盘气泵配置结构体 ## 中断处理 - `joint_potentiometer_callback()`: 电位器 ADC 转换完成回调 - `joint_sucker_pump_callback()`: 吸盘气泵定时器中断回调 - `HAL_GPIO_EXTI_Callback()`: 外部中断回调 ## 许可证 本项目使用 MIT 许可证,请参见 LICENSE.txt 文件。