Страница 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
Спасибо !!!!!