- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
unsigned char SIM300_Reboot(void)
{
// проверим статус модема
if (!pinSTATUS) // если STATUS = 0 (модем выключен)
{
while (1) //если не включается-включаем до посинения
{
if (!(Modem_ON()))
return 0;
}
} else // если STATUS = 1 (модем включен)
{
while (1) //если не выключается - выключаем до посинения
{
if ((!Modem_OFF()) && (!Modem_ON()))
return 0;
}
}
}
тяжёлые будни программиста embedded-систем.
дополнительный аромат: упомянутые функции возвращают 0 в случае успешного выполнения, а не наоборот, как можно было бы подумать при виде if (!some_func(...))
guest 09.03.2010 15:58 # +4
return 0;
Ommmmmmm....
guest 09.03.2010 16:36 # 0
return 0;
вот это красивое решение
guest 09.03.2010 20:53 # 0
guest 09.03.2010 21:21 # −1
guest 09.03.2010 23:52 # +1
Вообще жесть, что тут написано :D
guest 11.03.2010 21:13 # −1
guest 10.03.2010 15:47 # 0
guest 10.03.2010 21:18 # −1
comnimh 10.03.2010 21:35 # 0
То есть приведенный код в итоге никогда не выключит модем, он будет всегда включен.
guest 11.03.2010 09:01 # −2