NEC红外段码算法分析

外接显示器通讯数据,以NEC红外编码形式传输,对第三段数据码变化运算方法非常困惑不得其解,望解惑,谢谢。

img

img

img

问题相关代码,请勿粘贴截图
波形一共有五个字节数据,引导码后第一段为温度编号;第二段为状态指示;第三段一般固定是8个0;第四段可能是验证码或者数据码;第五段不知道是什么作用,固定全0xff可以正常通讯。

在第一段不变的情况下,第二段有变化,第四段编码不知是以那种运算方式得到的。

直接使用列表内数据发送方波显示器可以正常显示温度,
我想要达到的结果,通过前两段数据得到第三段数据得逻辑运算方式。第一次提问,有不对或者错误的地方,还请海涵,感谢。

你是说怎么用一段二进+二段二进 得到三段二进?

图片数据省略了第三段全0和第五段全FF,只取了三段有变化的数据。

【【字符设备驱动】 -- NEC红外通信原理|红外协议|红外驱动|红外编解码|红外遥控器...】https://minipro.baidu.com/ma/qrcode/parser?app_key=y1lpwNoOyVpW33XOPd72rzN4aUS43Y3O&launchid=3bd70dc9-33eb-4db6-a59b-7198fb3c58a6&path=%2Fpages%2Fblog%2Findex%3FblogId%3D111225949%26_swebFromHost%3Dbaiduboxapp

红外光是以特定的频率脉冲形式发射,接收端收到到信号后,按照约定的协议进行解码,完成数据传输,在消费类电子产品里,脉冲频率普遍采用 30KHz 到 60KHz 这个频段,NEC协议的频率就是38KHZ。

关于NEC红外算法的解析可以参考这篇文章?%ra=cardhttps://blog.csdn.net/qq_42250136/article/details/114268829?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165369249716780366562827%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165369249716780366562827&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-114268829-null-null.nonecase&utm_term=NEC%E7%BA%A2%E5%A4%96%E6%AE%B5%E7%A0%81%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4450

  • NEC的数据格式:

  • 一个完整的全码(5个字节) = 引导码 +地址码(8位) +地址反码(8位) + 操作码(8位) + 操作反码(8位) 。

    • 引导码也被称作:同步码、引导码、起始码、
    • 地址码/地址反码也被称作:用户码、地址码、用户识别码、
    • 操作码/操作反码也被称作:按键码、命令码、数据码、操作码、控制码、
  • 你把5个字节数据发出来,这样更好理解了