не работает процедура получения значения переменной из nextion.
То есть передаётся всегда = 0 хотя её значение в самом nextion меняется.
Дурит, анализ нажатия кнопок. (непонятно как работает,).
Получить информацию о изображении тоже не возможно. (всегда ноль)
Если говорить в общем, то передача в некстион работает, а вот получение данных из него нет. Проблема наблюдается на всех элементах.
софт для nextion 0.37
flprog 1.14 Пятнадцатая версия вообще не даёт работать, но об этом писал ранее.
сам код.
void loop()
{
if(_isTimer(_nextionGetValue1_StartTime, 500)){ _nextionGetValue1_StartTime = millis(); _nextionGetValue1_isNU = 1; }
if(_nextionGetValue1_isNU){_nextionCommandTempString = "get main.key_gvs_press.val";
nextionSendCommand(_nextionCommandTempString.c_str(), 0);
_nextionTempLissen = nextionListen(0);
if(_nextionTempLissen.code = 'q') {_nextionGetValue1_outputValue = _nextionTempLissen.number;};
_nextionGetValue1_isNU = 0;}
digitalWrite(13, (_nextionGetValue1_outputValue) == (1L));
digitalWrite(9, (_nextionGetValue1_outputValue) == (0L));
}
Добавлено (21.08.2016, 11:12)
---------------------------------------------
Вот код чтения и записи. Запись работает, чтение нет.
//Чтение
if(_isTimer(_nextionGetValue1_StartTime, 500)){ _nextionGetValue1_StartTime = millis(); _nextionGetValue1_isNU = 1; }
if(_nextionGetValue1_isNU){_nextionCommandTempString = "get main.key_gvs_press.val";
nextionSendCommand(_nextionCommandTempString.c_str(), 0);
_nextionTempLissen = nextionListen(0);
if(_nextionTempLissen.code = 'q') {_nextionGetValue1_outputValue = _nextionTempLissen.number;};
_nextionGetValue1_isNU = 0;}
digitalWrite(13, (_nextionGetValue1_outputValue) == (1L));
digitalWrite(9, (_nextionGetValue1_outputValue) == (0L));
//Запись
if (1) { if (! _gen2I) { _gen2I = 1; _gen2O = 1; _gen2P = millis(); } } else { _gen2I = 0 ; _gen2O= 0;}
if (_gen2I) { if ( _isTimer ( _gen2P , 10000 )) { _gen2P = millis(); _gen2O = ! _gen2O;}}
if (_gen2O) { if (! _nextionSetAttr2_oldState ) {_nextionSetAttr2_oldState = 1; _nextionSetAttr2_isNU = 1; _nextionSaveDataVAL_P0_E6 = 0 ;}} else {_nextionSetAttr2_oldState = 0;}if (_nextionSetAttr2_isNU) {_nextionCommandTempString = String("main.key_gvs_press.val=") + String(_nextionSaveDataVAL_P0_E6);
nextionSendCommand(_nextionCommandTempString.c_str(), 0); nextionAck(0);
_nextionSetAttr2_isNU = 0; }
Добавлено (21.08.2016, 11:54)
---------------------------------------------
Покопал дальше.
if(_nextionTempLissen.code = 'q') {_nextionGetValue1_outputValue = _nextionTempLissen.number;};
условие _nextionTempLissen.code = 'q' выполняется. Но данных нет. (_nextionTempLissen.number=0)
Добавлено (21.08.2016, 12:38)
---------------------------------------------
Проблема не зависит от версии nextion editor 0.33 0.35 0.36 0.37
И не зависит от версии flprog 1.12 1.14 1.15
переменную пишет, но не читает.
Добавлено (21.08.2016, 12:38)
---------------------------------------------
Куда копать ?