找回密码
 立即注册
查看: 114|回复: 5

格力空调的红外编码中的校验码如何计算?

[复制链接]
  • 打卡等级:以坛为家III
  • 打卡总天数:606
  • 最近打卡:2025-07-28 23:15:02

120

主题

2057

回帖

6052

积分

论坛元老

积分
6052
发表于 2025-7-3 10:51:54 | 显示全部楼层 |阅读模式
近日,参考大佬的帖子
STC15格力空调串口遥控器 - 第2页 - LCD12864,LCD1602,DMA-M6800并口自动刷屏,CPU不等待,DMA-SPI刷屏 国芯技术交流网站 - AI32位8051交流社区  https://www.stcaimcu.com/forum.p ... =2&extra=#pid118373

用STC8H8K64U做了一个简易型的格力空调红外遥控器,没有使用串口,而是用按键控制红外发射。
直接使用大佬提供的数据,真的可以控制空调。但如果更改了温度数据,有的温度,空调能正常解码并执行响应,但有些温度空调没有响应,我觉得这是CRC错误导致的问题。


究竟这最后四位的校验码是如何计算的?请各位大神赐教,谢谢!


回复

使用道具 举报 送花

3

主题

2108

回帖

-799

积分

等待验证会员

积分
-799
发表于 2025-7-3 10:58:00 | 显示全部楼层
格力空调红外遥控器的编码协议中,校验码(通常为4位)用于确保数据传输的完整性。根据公开资料及部分技术分析,格力空调的红外信号通常采用PWM调制方式,其数据帧结构一般包括前导码、地址码、功能码、温度码及校验码等部分。

关于格力空调红外编码中的校验码计算方式,目前尚无官方文档明确说明,但通过逆向分析和实际测试,可以推测其可能使用的是异或校验(XOR)或简单的CRC校验算法。以下为一种常见的校验码计算方法:

1. 数据结构:  
   通常,格力空调的红外遥控信号由若干字节组成,其中最后4位(即校验码)用于验证前面数据的正确性。例如,一个典型的数据帧可能包含如下字段:
前导码(如0x5A)
地址码(如0x2C)
功能码(如模式、风速、开关等)
温度码(如26℃对应0x1A)
校验码(4位)

2. 校验码计算方式:  
   根据部分技术论坛的讨论与测试结果,格力空调的校验码可能是通过对前几位数据进行异或运算得到的。具体步骤如下:
将除校验码外的所有有效数据字节进行异或操作;
异或结果的低4位即为校验码。

   例如,若前几位数据为 [0x5A, 0x2C, 0x1A],则校验码为:
  
  1. 0x5A ^ 0x2C = 0x76
  2.    0x76 ^ 0x1A = 0x6C
复制代码
   取0x6C的低4位(0xC),即为校验码。

3. 注意事项:  
不同型号的格力空调可能采用不同的校验方式,建议通过实际测试验证。
若更改温度或其他参数后出现控制失效,可能是由于校验码未正确更新导致。
部分情况下,校验码可能涉及更复杂的算法,如多项式CRC,需结合具体数据帧进一步分析。

综上所述,格力空调红外编码中的校验码通常通过对前几位数据进行异或运算获得,具体实现可能因机型而异。建议结合实际数据帧进行验证,并参考相关技术论坛的最新研究成果。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:606
  • 最近打卡:2025-07-28 23:15:02

120

主题

2057

回帖

6052

积分

论坛元老

积分
6052
发表于 2025-7-3 15:10:09 | 显示全部楼层
空调遥控器如下图,应该是一款比较常用的遥控器:
000.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:612
  • 最近打卡:2025-08-01 00:06:37

11

主题

1217

回帖

5792

积分

论坛元老

积分
5792
发表于 2025-7-3 16:09:23 | 显示全部楼层
校验码(遥控器型号YB0FB2) = 模式(左移一位逆序)+ 温度(4位逆序) +左右扫风(1位) + 换气(1位) -开关(左移3位)+定时数据(低4位逆序)+12  之后取二进制后四位,再逆序;
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:612
  • 最近打卡:2025-08-01 00:06:37

11

主题

1217

回帖

5792

积分

论坛元老

积分
5792
发表于 2025-7-3 16:24:00 | 显示全部楼层
格力空调遥控器红外编码透析(长码)



格力空调遥控器(YB0FB2)红外码组成如下,按解码顺序排列
起始码(S)+35位数据码+连接码(C)+32位数据码
1、电平宽度
载波占空比:1/2 
载波频率:38KHz(周期为26us)
逻辑0:640us有载波+560us无载波(参考值,建议以实测为标准)
逻辑1:640us有载波+1680us无载波(参考值,建议以实测为标准)
数据码由“0”“1”组成:
起始码S电平宽度为:9000us低电平+4500us高电平
连接码C电平宽度为:600us低电平+20000us高电平


格力空调红外编码.rar (56.54 KB, 下载次数: 7)

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:606
  • 最近打卡:2025-07-28 23:15:02

120

主题

2057

回帖

6052

积分

论坛元老

积分
6052
发表于 2025-7-3 19:23:13 | 显示全部楼层
angm*** 发表于 2025-7-3 16:24
格力空调遥控器红外编码透析(长码)

谢谢!格力空调遥控器校验码计算,我从网上搜索到多种方案。
应该说,不同的型号,校验码可能不同。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-1 11:35 , Processed in 0.131183 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表