Почему так?
- Войдите на сайт для отправки комментариев
Вс, 06/03/2016 - 11:52
Есть функция, вызываю ее с такими параметрами:
manual_mode =0; on_off_x=1; poliv(sensor_pin, eeprom_solid_var) = 1;
boolean irr_to_flag(boolean manual_mode, boolean on_off_x, byte sensor_pin, byte eeprom_solid_var)
{
if (!EEPROM.read(manual_mode)) //если auto mode
{
if (EEPROM.read(on_off_x)) //если включен полив
{
if (poliv(sensor_pin, eeprom_solid_var))
{return HIGH;}
else {return 0;}
} //
else {return 0;}
}
else {return 0;}
}
При true всех IF возвращает 0. хотя должна возвращать HIGH...чё не так?
if (EEPROM.read(on_off_x)) //если включен полив { } //А поясните, пожалуйста, какой смысл Вы вкладываете в приведённую выше конструкцию (при том что:
boolean on_off_x)?Потому что странновато задавать адрес чтения из EEPROM логической величиной.
Спасибо большое! =) недоглядел тип данных.... бывает