блок IR Send и IR Receiving в одном проекте flprog 6.3.1
Добавлено: 16.04.2020{, 08:37}
Господа, при при одновременном использовании блоков IR Send и IR Receiving в проекте (задача подменять один пришедший код другим), после первой ретрансляции кода плата зависает, прочитал подобную тему на форуме 2017 год, однако решения так и нет, помогите плиз
СпойлерПоказать
void loop()
{
if (irRessPin14.decode(&irRessPin14Res)) {
irRessPin14FillVar(&irRessPin14Res);
irRessPin14.resume(); }else {irRessPin14ResVar(); }
//Плата:1
if (irRessPin14FFA25D) {if (!(_IR_Sender_1_TOI_193800025)) {_irSend(0xFFB04F, NEC, 32);}
_IR_Sender_1_TOI_193800025 = 1;} else {_IR_Sender_1_TOI_193800025 =0;}
}
void irRessPin14FillVar(decode_results *irRessPin14Res) {
long tempRes;
byte tempType;
tempRes=(irRessPin14Res->value);
tempType=(irRessPin14Res->decode_type);
if(!(tempRes == -1)) {if ((tempRes == (0xFFA25D))&&(tempType == NEC)) {irRessPin14FFA25D = 1;} else {irRessPin14FFA25D=0;}
}}
void irRessPin14ResVar() {
irRessPin14FFA25D = 0;
}
void _irSend(long code, byte manufactureCode, byte length)
{
switch (manufactureCode) {
case NEC :
_IR_Sender.sendNEC(code, length) ;
break;
}}
{
if (irRessPin14.decode(&irRessPin14Res)) {
irRessPin14FillVar(&irRessPin14Res);
irRessPin14.resume(); }else {irRessPin14ResVar(); }
//Плата:1
if (irRessPin14FFA25D) {if (!(_IR_Sender_1_TOI_193800025)) {_irSend(0xFFB04F, NEC, 32);}
_IR_Sender_1_TOI_193800025 = 1;} else {_IR_Sender_1_TOI_193800025 =0;}
}
void irRessPin14FillVar(decode_results *irRessPin14Res) {
long tempRes;
byte tempType;
tempRes=(irRessPin14Res->value);
tempType=(irRessPin14Res->decode_type);
if(!(tempRes == -1)) {if ((tempRes == (0xFFA25D))&&(tempType == NEC)) {irRessPin14FFA25D = 1;} else {irRessPin14FFA25D=0;}
}}
void irRessPin14ResVar() {
irRessPin14FFA25D = 0;
}
void _irSend(long code, byte manufactureCode, byte length)
{
switch (manufactureCode) {
case NEC :
_IR_Sender.sendNEC(code, length) ;
break;
}}