找回密码
 立即注册
查看: 475|回复: 7

官方红外程序 如何在实际的产品中应用呢?

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:235
  • 最近打卡:2025-05-26 23:18:18

83

主题

695

回帖

1319

积分

金牌会员

积分
1319
发表于 2025-2-5 11:01:40 | 显示全部楼层 |阅读模式
截图202502051048527301.jpg


---------------------------------------------------

u16 rawDataOff[71] = {8996, 4510,  588, 1674,  564, 516,  564, 540,  564, 594,  562, 542,  538, 542,  586, 568,  540, 568,  584, 520,  586, 1646,  540, 1670,  538, 1648,  588, 1622,  564, 1670,  564, 1622,  590, 1646,  562, 1674,  538, 566,  540, 566,  562, 1646,  514, 590,  542, 590,  564, 594,  510, 544,  588, 542,  564, 1646,  566, 1644,  540, 590,  538, 1648,  586, 1646,  536, 1700,  536, 1620,  590, 39706,  8966, 2272,  590};  // NEC 807F906F


u16 rawDataOff0[71] = {9122, 4482,  594, 1670,  594, 540,  594, 540,  594, 540,  594, 540,  594, 540,  594, 540,  594, 540,  594, 540,  594, 1670,  594, 1672,  592, 1670,  594, 1670,  594, 1670,  594, 1670,  594, 1672,  594, 1670,  594, 540,  594, 540,  594, 1670,  594, 540,  594, 540,  594, 542,  592, 540,  594, 540,  594, 1672,  594, 1670,  594, 540,  594, 1670,  596, 1670,  594, 1672,  594, 1670,  594, 39566,  9068, 2246,  594};
u16 rawDataOff1[71] = {8996, 4510,  588, 1674,  564, 516,  564, 540,  564, 594,  562, 542,  538, 542,  586, 568,  540, 568,  584, 520,  586, 1646,  540, 1670,  538, 1648,  588, 1622,  564, 1670,  564, 1622,  590, 1646,  562, 1674,  538, 566,  540, 566,  562, 1646,  514, 590,  542, 590,  564, 594,  510, 544,  588, 542,  564, 1646,  566, 1644,  540, 590,  538, 1648,  586, 1646,  536, 1700,  536, 1620,  590, 39706,  8966, 2272,  590};  // NEC 807F906F
u16 rawDataOff2[71] = {9042, 4508,  540, 1670,  566, 564,  516, 588,  518, 614,  516, 588,  538, 566,  540, 590,  540, 590,  538, 566,  564, 1644,  516, 1694,  540, 1670,  566, 1644,  516, 1692,  542, 1668,  566, 1642,  540, 1696,  538, 566,  538, 566,  566, 1642,  538, 566,  542, 588,  540, 590,  538, 566,  564, 566,  538, 1670,  516, 1666,  564, 566,  542, 1668,  566, 1644,  540, 1696,  538, 1644,  566, 39698,  8988, 2248,  590};  // NEC 807F906F

u16 rawDataOn[71] = {9046, 4460,  588, 1648,  564, 540,  590, 542,  564, 566,  538, 566,  566, 566,  538, 542,  562, 568,  562, 542,  588, 1648,  564, 1620,  562, 1674,  562, 1672,  540, 1620,  586, 1648,  564, 1670,  538, 1646,  562, 544,  586, 568,  538, 542,  588, 568,  538, 540,  564, 566,  566, 566,  540, 564,  538, 1674,  562, 1646,  564, 1620,  590, 1648,  564, 1620,  590, 1670,  538, 1650,  562, 39506,  8996, 2274,  586};  // NEC 807F807F


u16 rawDataOn0[71] = {9124, 4482,  594, 1672,  594, 538,  596, 540,  594, 538,  596, 538,  596, 538,  596, 540,  594, 538,  596, 538,  594, 1670,  594, 1670,  596, 1670,  596, 1670,  594, 1670,  594, 1670,  596, 1670,  596, 1668,  596, 540,  594, 540,  594, 540,  594, 540,  594, 538,  596, 540,  594, 540,  594, 540,  596, 1670,  596, 1670,  596, 1670,  594, 1670,  594, 1670,  594, 1670,  594, 1672,  594, 39576,  9070, 2246,  596};
u16 rawDataOn1[71] = {9046, 4460,  588, 1648,  564, 540,  590, 542,  564, 566,  538, 566,  566, 566,  538, 542,  562, 568,  562, 542,  588, 1648,  564, 1620,  562, 1674,  562, 1672,  540, 1620,  586, 1648,  564, 1670,  538, 1646,  562, 544,  586, 568,  538, 542,  588, 568,  538, 540,  564, 566,  566, 566,  540, 564,  538, 1674,  562, 1646,  564, 1620,  590, 1648,  564, 1620,  590, 1670,  538, 1650,  562, 39506,  8996, 2274,  586};  // NEC 807F807F
u16 rawDataOn2[71] = {9050, 4482,  564, 1670,  540, 564,  566, 564,  538, 590,  516, 588,  542, 590,  514, 590,  516, 614,  516, 588,  540, 1670,  540, 1644,  538, 1696,  538, 1670,  538, 1644,  564, 1670,  540, 1670,  538, 1670,  540, 590,  540, 590,  514, 590,  540, 590,  514, 590,  514, 590,  540, 590,  514, 590,  516, 1720,  516, 1694,  514, 1668,  540, 1694,  514, 1668,  540, 1694,  514, 1696,  516, 39574,  8914, 2348,  490};  // NEC 807F807F


一般实际的应用中 红外都是71字节。
而官方的例子是  4 字节,就像下面这样:

截图202502051052486118.jpg

那我要发上面的71字节是不是应该像下面这样:

截图202502051101206330.jpg


--------------------------------------------------------------------------
更新一下我上面的说法,是71个数据,每个数据是16bit。 如果按字节计就是142个字节。 这个71个数据我之前理解错误。这个不是类似于键值的那种数据,是脉冲持续时间。
见4楼的大佬给出的解释。

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:481
  • 最近打卡:2025-06-29 12:34:20
已绑定手机

81

主题

5220

回帖

9305

积分

超级版主

DebugLab

积分
9305
发表于 2025-2-5 11:10:58 | 显示全部楼层
标准NEC码就是4字节,持续按下还有个重复码会持续发送
非标准协议按照协议发就可以
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:235
  • 最近打卡:2025-05-26 23:18:18

83

主题

695

回帖

1319

积分

金牌会员

积分
1319
发表于 2025-2-5 12:12:48 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:125
  • 最近打卡:2025-06-04 21:38:29
已绑定手机

60

主题

778

回帖

4019

积分

论坛元老

自定义头衔

积分
4019
发表于 2025-2-5 12:41:23 | 显示全部楼层
首先你有一个严重的理解误区。

红外并不是如你所说,有71个字节。
(如果是71个字节,数据类型应该是u8,而你这里都是u16,所以是142字节?当然也不是)

这里指的是有71次波形跳变
71个数据分别指的是高低电平的持续时间
也就是表达了36次脉冲的波形时间参数

事实上,第1个脉冲是起始脉冲,最后3个是重复码的脉冲

真正的数据是32个脉冲,也就是32bit数据,也就是4个字节。
和你说的NEC标准码是完全相同的!
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:235
  • 最近打卡:2025-05-26 23:18:18

83

主题

695

回帖

1319

积分

金牌会员

积分
1319
发表于 2025-2-5 13:29:42 | 显示全部楼层
VC*** 发表于 2025-2-5 12:41
首先你有一个严重的理解误区。

红外并不是如你所说,有71个字节。

哇塞,果然是大佬。我反复读了好多遍你这段话,明白了你的意思。感谢。

核心就是这71个字节代表的是电平持续时间,并不是对应官方代码里的键值。




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:235
  • 最近打卡:2025-05-26 23:18:18

83

主题

695

回帖

1319

积分

金牌会员

积分
1319
发表于 2025-2-5 13:31:55 | 显示全部楼层
Debu*** 发表于 2025-2-5 11:10
标准NEC码就是4字节,持续按下还有个重复码会持续发送
非标准协议按照协议发就可以 ...

刚刚把71字节的数据含义理解错了。 4楼的大佬猜出了我想表达的意思,给就纠正了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:235
  • 最近打卡:2025-05-26 23:18:18

83

主题

695

回帖

1319

积分

金牌会员

积分
1319
发表于 2025-2-5 14:35:15 | 显示全部楼层
uint16_t rawDataOn[71] = {9046, 4460,  588, 1648,  564, 540,  590, 542,  564, 566,  538, 566,  566, 566,  538, 542,  562, 568,  562, 542,  588, 1648,  564, 1620,  562, 1674,  562, 1672,  540, 1620,  586, 1648,  564, 1670,  538, 1646,  562, 544,  586, 568,  538, 542,  588, 568,  538, 540,  564, 566,  566, 566,  540, 564,  538, 1674,  562, 1646,  564, 1620,  590, 1648,  564, 1620,  590, 1670,  538, 1650,  562, 39506,  8996, 2274,  586};

引导码
高电平:9046μs(约9ms)
低电平:4460μs(约4.5ms)

数据位解析
接下来的数据位按照NEC协议的规则进行解析:
逻辑“0”:高电平约560μs,低电平约560μs
逻辑“1”:高电平约560μs,低电平约1690μs

588, 1648 -> 1
564, 540  -> 0
590, 542  -> 0
564, 566  -> 0
538, 566  -> 0
566, 566  -> 0
538, 542  -> 0
562, 568  -> 0
562, 542  -> 0
588, 1648 -> 1
564, 1620 -> 1
562, 1674 -> 1
562, 1672 -> 1
540, 1620 -> 1
586, 1648 -> 1
564, 1670 -> 1
538, 1646 -> 1
562, 544  -> 0
586, 568  -> 0
538, 542  -> 0
588, 568  -> 0
538, 540  -> 0
564, 566  -> 0
566, 566  -> 0
540, 564  -> 0
538, 1674 -> 1
562, 1646 -> 1
564, 1620 -> 1
590, 1648 -> 1
564, 1620 -> 1
590, 1670 -> 1
538, 1650 -> 1
562, 39506 -> 结束码
8996, 2274 -> 结束码
586 -> 结束码

1, 0, 0, 0, 0, 0, 0, 0 -> 地址码
1, 1, 1, 1, 1, 1, 1, 1 -> 地址反码
1, 0, 0, 0, 0, 0, 0, 0 -> 命令码
1, 1, 1, 1, 1, 1, 1, 1 -> 命令反码

地址码:0x01(十进制1)
地址反码:0xFE(十进制254)
命令码:0x01(十进制1)
命令反码:0xFE(十进制254)

截图202502051435124570.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:235
  • 最近打卡:2025-05-26 23:18:18

83

主题

695

回帖

1319

积分

金牌会员

积分
1319
发表于 2025-2-23 01:50:26 | 显示全部楼层
VC*** 发表于 2025-2-5 12:41
首先你有一个严重的理解误区。

红外并不是如你所说,有71个字节。

大佬,我按照你所说的去试了, 我发现好像不行呢?



https://www.stcaimcu.com/forum.p ... mp;extra=#pid147446
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-30 06:48 , Processed in 0.122080 second(s), 91 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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