大佬们,红外的IR_TxPulse函数可以这样用吗?为啥没效果呢?
u16 rawDataAirOn1 = {6122, 7424,514, 1674,514, 1674,514, 1676,514, 1674,514, 1674,514, 1676,512, 1676,514, 1674,514, 580,514, 580,514, 580,514, 580,514, 578,514, 580,514, 580,514, 578,514, 1676,514, 1674,514, 1674,514, 1674,514, 1676,512, 1674,514, 1674,514, 1676,514, 578,514, 580,514, 582,512, 582,512, 580,514, 580,514, 580,514, 580,514, 1676,514, 1674,514, 1674,514, 1674,514, 1676,514, 1672,514, 1674,514, 1674,514, 580,512, 580,514, 578,514, 580,512, 582,514, 580,514, 580,514, 580,514, 1674,514, 580,514, 1674,514, 580,514, 580,514, 580,512, 582,514, 1676,512, 580,514, 1674,514, 580,514, 1676,512, 1676,512, 1674,512, 1676,512, 582,514, 580,512, 1676,512, 1676,536, 558,534, 1654,512, 582,536, 1654,534, 1652,534, 1654,536, 558,534, 558,534, 1654,536, 558,534, 1654,534, 558,534, 560,534, 560,536, 1652,534, 562,534, 1652,514, 582,512, 1676,512, 582,512, 582,512, 1674,536, 560,512, 1674,536, 560,512, 1674,512, 584,512, 1676,512, 1678,512, 7408,512};
u16 rawDataAirOn2 = {3410, 1670,408, 1258,410, 1260,408, 424,408, 426,408, 424,410, 1258,408, 426,408, 424,408, 1258,432, 1236,408, 424,430, 1236,408, 426,408, 424,408, 1258,408, 1258,432, 402,408, 1260,408, 1258,408, 426,408, 424,408, 1260,408, 424,408, 424,408, 1258,408, 424,408, 426,430, 404,430, 402,408, 424,408, 426,408, 426,430, 402,408, 426,408, 426,430, 402,430, 402,408, 426,408, 426,408, 426,408, 426,408, 426,430, 1236,430, 404,408, 424,408, 1260,430, 404,408, 424,408, 1260,408, 1260,430, 404,430, 404,430, 402,430, 404,430, 402,430, 402,430, 402,430, 1236,408, 1260,430, 404,430, 402,430, 402,430, 404,430, 404,430, 402,430, 1236,430, 402,430, 1238,430, 1236,430, 1236,430, 404,430, 404,430, 404,430, 402,430, 404,430, 404,430, 404,430, 404,430, 404,430, 404,430, 402,430, 404,430, 402,430, 404,430, 404,430, 404,430, 402,430, 402,430, 404,430, 404,430, 404,406, 426,430, 404,430, 402,428, 404,428, 404,430, 404,430, 404,430, 404,430, 404,428, 404,428, 404,430, 404,430, 404,430, 404,406, 426,430, 1236,430, 1238,430, 1238,430, 1236,408, 1260,430, 404,406};
u16 rawDataAirOn3 = {3492, 1746,458, 1310,462, 372,460, 374,460, 372,460, 1312,460, 396,436, 398,434, 400,436, 1310,460, 398,436, 374,460, 398,434, 1312,460, 398,434, 398,434, 398,434, 1314,458, 398,436, 398,436, 398,436, 1312,460, 372,460, 374,460, 400,434, 1310,460, 400,434, 398,434, 374,460, 1310,460, 398,434, 374,460, 372,460, 1312,460, 372,460, 374,460, 372,460, 1310,462, 370,460, 374,460, 374,460, 374,460, 374,460, 1310,460, 374,460, 374,460, 1312,460, 374,460, 372,460, 1310,460, 1312,460, 372,460, 372,460, 374,460, 372,460, 374,460, 374,460, 374,458, 1312,460, 1310,460, 372,460, 374,460, 372,460, 374,460, 372,460, 374,460, 1312,482, 350,482, 1290,482, 352,482, 350,484, 350,490, 370,462, 372,458, 376,456, 376,458, 376,456, 374,456, 376,458, 376,456, 376,456, 376,456, 376,456, 376,456, 376,456, 376,456, 378,456, 378,456, 378,456, 378,454, 402,430, 402,408, 426,430, 404,408, 426,408, 426,408, 426,408, 426,408, 424,408, 426,430, 378,454, 378,456, 378,456, 376,456, 376,456, 374,458, 376,458, 1314,458, 1314,458, 374,456, 376,458, 376,458, 1314,456};
u16 rawDataAirOff1 = {6142, 7428,510, 1678,508, 1680,508, 1678,510, 1678,508, 1678,508, 1680,508, 1678,508, 1680,508, 584,510, 584,508, 584,510, 584,486, 608,508, 584,486, 608,508, 586,484, 1704,484, 1702,484, 1702,484, 1704,484, 1704,484, 1706,484, 1704,484, 1704,484, 608,486, 606,486, 608,484, 608,484, 610,484, 608,484, 608,486, 608,484, 1702,484, 1702,484, 1702,486, 1702,486, 1702,484, 1702,484, 1702,486, 1702,486, 608,486, 608,486, 608,486, 606,486, 608,486, 608,486, 608,486, 606,486, 1702,486, 1704,486, 1700,486, 608,484, 608,486, 608,484, 608,486, 1702,486, 608,486, 608,486, 608,484, 1702,486, 1702,486, 1702,486, 1702,486, 608,486, 608,484, 1704,486, 1700,486, 608,486, 1700,486, 608,486, 1702,486, 1702,486, 1702,484, 608,484, 608,484, 1704,484, 608,484, 1702,484, 608,486, 608,486, 608,486, 1702,484, 608,486, 1702,486, 608,486, 1702,484, 608,484, 610,486, 1702,484, 608,484, 1704,484, 608,484, 1704,484, 608,486, 1702,484, 1702,484, 7434,484};
u16 rawDataAirOff2 = {3404, 1698,404, 1262,406, 1262,402, 430,402, 430,404, 430,402, 1264,404, 428,402, 430,404, 1264,380, 1286,402, 430,380, 1286,404, 430,402, 430,404, 1262,404, 1264,380, 452,380, 1286,380, 1286,380, 452,404, 428,382, 1286,380, 454,380, 452,380, 1286,380, 452,380, 452,380, 452,380, 452,380, 452,380, 454,380, 452,380, 454,380, 452,380, 452,380, 452,380, 452,380, 452,380, 454,380, 454,380, 454,380, 452,380, 452,380, 452,380, 452,380, 1286,380, 454,380, 452,380, 1286,380, 1286,380, 452,380, 452,380, 452,380, 452,380, 452,380, 452,380, 454,380, 1286,380, 1286,380, 450,380, 454,380, 452,380, 452,380, 452,380, 452,380, 1288,380, 452,380, 1286,380, 1288,380, 1288,380, 454,380, 452,380, 452,380, 454,380, 454,380, 452,380, 454,380, 454,380, 454,380, 452,380, 454,380, 452,380, 452,380, 454,380, 454,380, 452,380, 454,380, 454,380, 452,380, 452,380, 454,380, 454,380, 454,380, 454,380, 454,380, 454,380, 452,380, 454,380, 454,380, 454,380, 454,380, 454,380, 452,380, 452,380, 454,382, 452,380, 454,378, 1288,380, 1288,380, 1286,378, 1288,380, 452,380};
u16 rawDataAirOff3 = {3510, 1750,454, 1314,456, 376,456, 378,456, 376,456, 1316,456, 376,456, 376,456, 376,434, 1338,434, 400,434, 400,434, 400,434, 1338,434, 398,434, 400,434, 400,434, 1336,434, 400,432, 400,432, 400,432, 1338,434, 400,432, 400,434, 400,434, 1340,430, 400,432, 400,434, 400,432, 1338,432, 398,434, 400,432, 400,434, 1336,432, 400,432, 400,434, 398,434, 1338,432, 400,432, 400,434, 400,434, 400,434, 398,432, 400,432, 400,432, 400,432, 1338,432, 400,432, 400,434, 1338,432, 1338,432, 400,432, 400,432, 402,432, 400,432, 398,434, 400,434, 402,434, 1338,434, 1338,432, 398,432, 402,432, 400,432, 400,432, 400,432, 400,434, 1338,432, 400,432, 1340,432, 402,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 400,432, 402,432, 402,432, 402,432, 402,432, 400,432, 400,432, 400,432, 400,432, 400,432, 402,432, 400,432, 400,432, 400,432, 400,432, 402,432, 402,432, 402,432, 402,432, 400,432, 402,432, 400,432, 402,432, 1338,432, 402,432, 400,432, 400,432, 1340,430};
void IrWave(u16 *raw, int rawNum)
{
int i;
for(i=0; i<rawNum; i++)
{
if (i % 2 == 0) {
IR_TxPulse(raw/1000*38);
} else {
IR_TxSpace(raw/1000*38);
}
}
}
void IrWave(u16 *raw, int rawNum)
{
int i;
for(i=0; i<rawNum; i++)
{
if (i % 2 == 1) {
IR_TxPulse(raw/1000*38);
} else {
IR_TxSpace(raw/1000*38);
}
}
}
IR_TxPulse(raw/1000.0*38); //一不小心就搞出个bug。
最好提前计算出来raw/1000.0*38的数值,并存储最终结果。因为这个发送过程要求时间精准。如果你在这里实时计算参数,可能耗时过长,导致红外时序混乱 VCC 发表于 2025-2-23 22:24
最好提前计算出来raw/1000.0*38的数值,并存储最终结果。因为这个发送过程要求时间精准。如果你在这里实时 ...
{:hanxiao:} 嗯嗯,我刚刚试过了,可以的。
页:
[1]