# bms-education **Repository Path**: tsrunner/bms-education ## Basic Information - **Project Name**: bms-education - **Description**: 鹏力教育-企业级实战项目-BMS电池管理系统 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: https://zhulaoshi.taobao.com/?spm=a1z10.1-c-s.0.0.c2d8718bDepVru - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2026-03-18 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BMS 教育开发平台 基于 FreeRTOS 的电池管理系统(BMS)嵌入式开发项目。 ## 项目简介 本项目是一个面向教育的电池管理系统(BMS)开发平台,运行在 STM32F1xx 微控制器上,并使用 FreeRTOS 实时操作系统进行任务调度。该项目旨在帮助学生学习嵌入式系统开发、实时操作系统以及电池管理相关的知识。 ## 硬件平台 - **微控制器**: STM32F1xx 系列 - **实时操作系统**: FreeRTOS - **通信接口**: CAN, USART - **外设**: GPIO ## 项目结构 ``` freertos/ ├── Core/ │ ├── Inc/ # 头文件 │ │ ├── FreeRTOSConfig.h │ │ ├── can.h │ │ ├── gpio.h │ │ ├── main.h │ │ ├── stm32f1xx_hal_conf.h │ │ ├── stm32f1xx_it.h │ │ └── usart.h │ └── Src/ # 源代码 │ ├── main.c # 主程序入口 │ ├── freertos.c # FreeRTOS 任务 │ ├── can.c # CAN 通信 │ ├── gpio.c # GPIO 配置 │ ├── usart.c # 串口通信 │ ├── stm32f1xx_hal_msp.c │ └── stm32f1xx_it.c ├── Drivers/ # 驱动库 │ ├── CMSIS/ # ARM CMSIS 驱动 │ └── STM32F1xx_HAL_Driver/ # ST HAL 驱动 ├── freertos/ # FreeRTOS 源码 └── BMS.ioc # STM32CubeMX 项目配置 ``` ## 功能特性 - **FreeRTOS 实时操作系统**: 支持多任务并发执行 - **CAN 总线通信**: 支持电池组内部通信 - **USART 串口调试**: 用于调试信息和数据输出 - **GPIO 外设控制**: 支持各种数字输入输出 ## 开发环境 - **IDE**: STM32CubeIDE 或 Keil MDK - **编译工具链**: ARM GCC 或 ARM Keil - **烧录工具**: ST-Link / J-Link ## 使用说明 1. 使用 STM32CubeMX 打开 `BMS.ioc` 文件进行硬件配置 2. 生成代码后,将项目导入 IDE 3. 编译并烧录到开发板 4. 通过串口查看调试信息 ## 串口配置 - 波特率: 默认配置 - 数据位: 8 - 停止位: 1 - 校验位: 无 ## 注意事项 - 本项目为教育用途,请根据实际需求进行修改 - 使用 CAN 总线时需配置正确的终端电阻 - 请确保供电电压符合 BMS 系统要求