# FanController
**Repository Path**: Yukimura_Chieri/fan-controller
## Basic Information
- **Project Name**: FanController
- **Description**: 双路4线散热风扇控制板代码
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-05-20
- **Last Updated**: 2026-05-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 双路4线散热风扇控制板代码
### 介绍
* 功能:通过串口与上位机交互,可设置4线风扇的转速,并且可以获取风扇的实时转速。
* 主控:STM32F103C8T6
### 串口命令
#### 上位机 --> 下位机
| byte | value | description |
| --- | --- | --- |
| 1 | 0xA5 | 报文头 |
| 2 | 0x01 | 功能字(只有0x01) |
| 3 | 0x00-0xFF | CPU风扇设定占空比低8位 |
| 4 | 0x00-0xFF | CPU风扇设定占空比高8位 |
| 5 | 0x00-0xFF | 硬盘风扇设定占空比低8位 |
| 6 | 0x00-0xFF | 硬盘风扇设定占空比高8位 |
| 7 | 0x00-0xFF | 蜂鸣器设定频率低8位 |
| 8 | 0x00-0xFF | 蜂鸣器设定频率高8位 |
| 9 | 0x00-0xFF | CRC16低8位 |
| 10 | 0x00-0xFF | CRC16高8位 |
#### 下位机 --> 上位机
| byte | value | description |
| --- | --- | --- |
| 1 | 0xA5 | 报文头 |
| 2 | 0x01 | 功能字(只有0x01) |
| 3 | 0x00-0xFF | CPU风扇实际转速低8位 |
| 4 | 0x00-0xFF | CPU风扇实际转速高8位 |
| 5 | 0x00-0xFF | 硬盘风扇实际转速低8位 |
| 6 | 0x00-0xFF | 硬盘风扇实际转速高8位 |
| 7 | 0x00-0xFF | 蜂鸣器当前频率低8位 |
| 8 | 0x00-0xFF | 蜂鸣器当前频率高8位 |
| 9 | 0x00-0xFF | CRC16低8位 |
| 10 | 0x00-0xFF | CRC16高8位 |
#### 信号值与物理值的转换关系
* 风扇设定占空比
信号值范围:0-1000
物理值范围:0-100%
物理值单位:% (占空比)
转换关系:物理值=信号值/10
* 风扇实际转速
信号值范围:0-65535
物理值范围:0-128r/s
物理值单位:r/s (转/秒)
转换关系:物理值=信号值/512
* 蜂鸣器频率
信号值范围:0-16000
物理值范围:0-16000Hz
物理值单位:Hz (赫兹)
转换关系:物理值=信号值
### 资源分配表
| 外设 | 引脚 | 描述 |
| --- | --- | --- |
|UART3 | PB10/PB11 | 上位机通信口 |
|TIM1 CH1 | PA8 | 硬盘风扇PWM输出端 |
|TIM1 CH2 | PA9 | 主板风扇PWM输出端 |
|TIM2 CH1 | PA0 | 硬盘风扇测速输入端 |
|TIM2 CH2 | PA1 | 主板风扇测速输入端 |
|TIM3 CH4 | PB1 | 蜂鸣器PWM输出端 |
|GPIO | PC13 | LED控制引脚 |