Вова (30.04.2018 17:53 - 21:21, просмотров: 97) ответил rual на это структура, потому через (void*) преобразование.
Зачем же так извращаться? Специально придумали оператор typedef - пользуйтесь им //Такой код вроде бы должен работать если ваш компилятор не оптимизирует структуру
typedef uint8_t* bytes;
struct buffer
{ char A;
char B;
};
buffer rx_buffer;
//заглушка crc16. А у вас передается значение или ссылка?
//word - короткий беззнаковый int
word crc16(byte X)
{
return X;
}
//где-то в коде
main()
{
word data16 = 0;
rx_buffer.A = 2; //что-то присваиваем
rx_buffer.B = 4; //
bytes ptrbuf = bytes(&rx_buffer);//ваше описание более менее человеческим языком
byte M = sizeof(rx_buffer); //не знаю не захочет ли ваш компилятор
//считать длину структуры каждый раз в цикле
for (uint8_t i = 0; i < M; i++)
{ data16 ^= crc16(ptrbuf[i]); //передаем значение!
}
}