# CRSFdecoder **Repository Path**: giao2199/crsfdecoder ## Basic Information - **Project Name**: CRSFdecoder - **Description**: 基于stm32平台,对CRSF遥控协议解码的程序片段。 - **Primary Language**: C - **License**: CC-BY-SA-4.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2023-09-09 - **Last Updated**: 2025-08-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是对CRSF遥控器协议解析的一个代码片段。采用STM32CUBE IDE编写。 CRSF协议,全称TBS CROSSFIRE协议,是一种广泛应用于穿越机、航模接收机的协议,其具有轻量化和高可靠性的特点。在协议构成上,例如遥控器通道数据,类似于FUTABA SBUS协议,由16通道的11位数据拼接构成。但是不同与SBUS,CRSF具有校验位,与MWC、BF和INAV采用的与地面站通信的MSP协议相比,具有相同校验方式,例如初始值为0,多项式为0xD5。 本代码采用串口中断的方式实现数据接收,将数据移动到缓存的最后16字节中,并覆盖掉旧的16字节。解析由主程序执行,将缓存的64字节读取,并判断缓存区的最新数据,验证数据的完整性,使用结构体将数据对位,实现解码,并清空缓存区内这一帧的数据。