Передать указатель в функцию или массив в функцию - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь понять, что я делаю неправильно.У меня проблема до нескольких строк кода.Программа будет зависать или вести себя неправильно при использовании кода.Просто интересно, правильно ли я передаю это для массива?

void callFunction(uint8_t &channel)
{
        uint8_t address[8]; //1wire wire address and CRC
    uint8_t scratchPad[8]; //holding for onewire capture
        readScratchPad(address,scratchPad,channel);
}

void Temperature::readScratchPad(uint8_t rom[8],uint8_t data[8],const     uint8_t &channel)
{
    //read temperature data.
    wireReset(); //reset();
    selectChannel(channel); //necessary on -800
    wireSelect(rom);
    wireWriteByte(0xbe);         // Read Scratchpad command
    //display hex values of scratchpad
    for ( int i = 0; i < 8; i++) {           // we need 9 bytes
        data[i] = wireReadByte();
    }
}

Единственное, что может быть, это то, что я неправильно передаю указатель на функцию, подобную этой:

function getNext()
{
     uint8_t address[8];
     getNextAddress(address);
}

bool Temperature::getNextAddress(uint8_t *vAddress)
{
    if ( !wireSearch(vAddress))
    {
        wireResetSearch();
        wireReset();
        wireSkip();
        return false;
    }
    return true;
}

Я передавал указатель как getNext (& address [8]), но он тоже не работал.Спасибо,

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