Чт окт 06, 2022 11:35:47
uint8_t Switch(uint8_t in1, uint8_t in2, uint8_t in3)
{
static uint8_t state;
if(in1 && !(in2 || in3))
state = 1;
if(in2 && !(in1 || in3))
state = 2;
if(in3 && !(in1 || in2))
state = 3;
return state;
}
Чт окт 06, 2022 11:49:56
Чт окт 06, 2022 12:14:43
st = ButtSwitch(Read1(), Read2(), Read3());
switch(st){
case 1: LED1() ;break;
case 2: LED2() ;break;
case 3: LED3() ;break;
default:
}
Чт окт 06, 2022 12:21:46
Чт окт 06, 2022 12:23:43
void ButtSwitch(uint8_t in1, uint8_t in2, uint8_t in3)
{
if(in1 && !(in2 | in3))
LED1();
if(in2 && !(in1 | in3))
LED2();
if(in3 && !(in1 | in2))
LED3();
}
Чт окт 06, 2022 18:28:20
Чт окт 06, 2022 18:36:57
int8_t ButtSwich(uint8_t in)
{
static uint8_t p, tr; // переменные сохраняют свое состояние после выхода
int8_t state = 0;
/*+++ проверка входного условия IN +++*/
if(in)
{
/*--- проверка предыдущ.состояния P ---*/
if(p == 0)
{
p = 1;
/*... ветвление триггера Tr ...*/
if(tr)
{
tr = 0;
state = -1;
}else
{
tr = 1;
state = 1;
}/*............................*/
}/*----------*/
}else
{
p = 0;
}/*++++++++++++++++++++++++++++++++++++++++*/
return state;
}
int8_t ButtSwich(uint8_t in1, uint8_t in2, uint8_t in3)
{
static uint8_t p, tr1, tr2, tr3;
int8_t state = 0;
/* Блокировка одновременных нажатий кнопок */
if((in1 && in2)||(in2 && in3)||(in1 && in3)||(in1 && in2 && in3))
{
p = 1;
return state;
}
/* Проверка отпускания всех кнопок */
if(!in1 && !in2 && !in3)
{
p = 0;
return state;
}
/* Провека срабатывания входа 1 */
if(in1)
{
if(!p)
{
p = 1;
if(tr1)
{
tr1 = 0; tr2 = 0; tr3 = 0;
state = -1;
}else
{
tr1 = 1; tr2 = 0; tr3 = 0;
state = 1;
}
}
}
/* Провека срабатывания входа 2 */
if(in2)
{
if(!p)
{
p = 1;
if(tr2)
{
tr2 = 0; tr1 = 0; tr3 = 0;
state = -2;
}else
{
tr2 = 1; tr1 = 0; tr3 = 0;
state = 2;
}
}
}
/* Провека срабатывания входа 3 */
if(in3)
{
if(!p)
{
p = 1;
if(tr3)
{
tr3 = 0; tr1 = 0; tr2 = 0;
state = -3;
}else
{
tr3 = 1; tr1 = 0; tr2 = 0;
state = 3;
}
}
}
return state;
}
Чт окт 06, 2022 18:50:41
Чт окт 06, 2022 18:54:02
Чт окт 06, 2022 19:41:34
Пт окт 07, 2022 03:43:29
Пт окт 07, 2022 06:13:49
Пт окт 07, 2022 06:53:18
Пт окт 07, 2022 07:22:01
Пт окт 07, 2022 09:24:34
Proc_Device
{
switch (_proc_device)
{
case 0:
bla_bla; // инициализация
all_outputs_off ();
_proc_device = 1;
break;
case 1:
if (Get_Events (INPUTS_CHANGE_STATE))
{
switch (Get_Inputs_State ())
{
case INPUT_1:
all_outputs_off ();
// out_1_on ();
// out_1_switch ();
// out_1_blink ();
break;
case INPUT_2:
all_outputs_off ();
// out_2_on ();
// out_2_switch ();
// out_2_blink ();
break;
case INPUT_3:
all_outputs_off ();
// out_3_on ();
// out_3_switch ();
// out_3_blink ();
break;
}
break;
}
}
Пт окт 07, 2022 09:54:19
Пт окт 07, 2022 10:38:07
Пт окт 07, 2022 11:17:30
Пт окт 07, 2022 12:24:44
Пт окт 07, 2022 13:43:12