Спасибо! Вроде выше ответил.
Вот:
U8 instructionAmplitude DataGenerator[1] = {0x02};
U8 instructionFrequency DataGenerator[1] = {0x04};
const int lengthAmplitudeWRDat a = 2;
const int lengthFrequencyWRDat a = 4;
SetCS_Latch (GENERATOR);
WriteDataToGenerator OnSPI(data, instructionAmplitude DataGenerator, lengthAmplitudeWRDat a);
WriteDataToGenerator OnSPI(data + lengthAmplitudeWRDat a, instructionFrequency DataGenerator, lengthFrequencyWRDat a);
RemoveCS_Latch (GENERATOR);
Первый параметр у ф-ии - собственно указатель на данные, второй - сам instruction byte, а третий - длина данных, которые хотим выплюнуть по SPI в этот регистр.
Сама ф-ия вот:
int WriteDataToGenerator OnSPI(unsigned char* dataWR, unsigned char* instructionByte, const int lengthWRData)
{
U8 DataRD[6];
int err;
err = write_read_spi_M(pSP I, mtxSPI_MEGA_PROG, instructionByte, DataRD, LENGTH_INSTRUCTION_D ATA_GENERATOR , SPI_TIME_OUT);
err += write_read_spi_M(pSP I, mtxSPI_MEGA_PROG, dataWR, DataRD, lengthWRData, SPI_TIME_OUT);
return err;
}