моя функция не будет обновляться для переменной JSON - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть элемент массива uint16_t, который я хочу обновить, прежде чем применить его как объект JSON.

void JSONmsgBuilder_modbus(){

    //clear msg to build new one
    memset(msg, 0, sizeof(msg));



    //char JSONmsg [2]; // use basic ascii keys like A or AA


    jw.startObject();
    for (int i=0; i < 51; ++i){
        char buffer [4];
        int u = i;
        std::string JSONfirst = itoa((u + 1), buffer, 10);
        const char *JSONeventName = JSONfirst.c_str();
        //Serial.println(saved_holdingRegister[i]);
        //debugging
        //Serial.print ("the JSON key is: ");   
        //Serial.print (JSONeventName);
        //Serial.println (" end of JSON key");
        //uint16_t parsingModData = saved_holdingRegister[i];
        //char modData_char[2];
        //modData_char[0] = parsingModData & 0xFF;
        Serial.println(saved_holdingRegister[i]);
        int newModData = saved_holdingRegister[i];
        //char newModData[12];
        //sprintf(newModData, "", saved_holdingRegister[i]);
        jw.insertKeyValue(JSONeventName, newModData);

        //Serial.print("Value added: ");
        //Serial.print(saved_holdingRegister[i]);

    }

Мой uint16_t saved_holdingRegisters был ранее обновлен другой функцией. Когда я go применяю ее к этой JSON функции построения сообщения, она просто не обновляется. Я знаю, что он обновляется без проблем, входя в функцию и вплоть до применения ее к объекту JSON, но когда я запускаю serial.print(msg) после создания сообщения JSON, я просто получаю {"1":null "2" null....}, так как если он вообще никогда не обновляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...