# 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控制引脚 |