Страница 1 из 1
Сбросить значение после прихода через 433МГц
Добавлено: 20 янв 2022, 16:41
andrey856
Господа !
Подскажите пожалуйста
Есть связка: приемник 433Мгц - массив, в котором проверяется код, который пришло по радио (типа датчики), если есть совпадение, то на выходе массива выставляется единица.
Не могу понять как сделать так, что б эта связка ресетилась и ждала следующей посылки, потом что если приходит следующий код и он в массиве, то она выходе как стояла единица, так и продолжает стоять, а мне нужно отделать эти события
Спасибо
Сбросить значение после прихода через 433МГц
Добавлено: 20 янв 2022, 16:52
Sancho
andrey856 писал(а): 20 янв 2022, 16:41
Господа !
Подскажите пожалуйста
Есть связка: приемник 433Мгц - массив, в котором проверяется код, который пришло по радио (типа датчики), если есть совпадение, то на выходе массива выставляется единица.
Не могу понять как сделать так, что б эта связка ресетилась и ждала следующей посылки, потом что если приходит следующий код и он в массиве, то она выходе как стояла единица, так и продолжает стоять, а мне нужно отделать эти события
Спасибо
Типа так
[spoiler]
Код: Выделить всё
_nomer_cmd = -1;
_comand_433=-1;
if (rx433.available()) {
uint32_t rs =rx433.getReceivedValue();
rx433.resetAvailable();
for(int c = 0;c < razmer_arr_code;c++){ // с - размер массива кодов пультов
if(rs == _array_key[c]){_nomer_cmd=c; break;}
}
_old_time_433 = millis();
_est_data=1;
if(_nomer_cmd != -1){
if(_old_nomer_cmd == _nomer_cmd ){_kol_vo_paket++;} // {_comand_433=_nomer_cmd;}
_old_nomer_cmd = _nomer_cmd;
}
if(_long_push_butn){
if(_kol_vo_paket >= _long_kol_vo){ // _old_nomer_cmd == должна соответствовать номеру, команде, от пульта упр
if(_old_nomer_cmd == 0) _update_long_push(0);// функция на выкл и запомнить состояние или вкл последний режим, из памяти
if(_old_nomer_cmd == 1) _update_long_push(1);// номер пульта в массиве
}
}
}
if(_est_data){
if(millis()- _old_time_433 > 300)
{
if(_kol_vo_paket>0 && _kol_vo_paket < _long_kol_vo){_comand_433=_old_nomer_cmd;}// просто команда на изменение
_old_nomer_cmd=111;
_est_data=0;
_kol_vo_paket=0;
_long_push_butn = 1; // разрешаем обработку длинного нажатия
}
}
if(_comand_433 != -1 ){
_upd_stat_ch(_comand_433);
}
[/spoiler]
Сбросить значение после прихода через 433МГц
Добавлено: 20 янв 2022, 17:03
Anydy
Вот верно! ...только бы прокоментировать
Сбросить значение после прихода через 433МГц
Добавлено: 24 янв 2022, 10:14
andrey856
Спасибо !!!!!