Я полный новичок во всем, за исключением, может быть, дышать, так что извините, если я не быть ясно, но здесь идет:Создание указателя, который указывает на два байта
У меня есть функция в С, которая записывает байт в схему через шину I2C, и в заголовочном файле выглядит следующим образом:
BOOL WINAPI JidaI2CWrite(HJIDA hJida, DWORD dwType, BYTE bAddr, LPBYTE pBytes, DWORD dwLen);
- hJida картоне ручка.
- dwType: Номер на основе нуля для шины I2C .
- bAddr: адрес устройства на шине I2C , полный 8 бит, как и , записанный на автобус.
- pBytes: Указатель на местоположение, в котором содержит байты.
- dwLen: количество байтов для записи.
Если бы я хотел написать только один байт в схему с адресом 0x98, я хотел бы сделать что-то вроде этого:
unsigned char writing[1];
writing[0]=0x10;
unsigned char *pointer;
pointer = &writing[0];
JidaI2CWrite(hJida,0,0x98,pointer,1);
, который, кажется, работает, но если бы я хотел написать два байта, скажем, 0x10FF, это не так. Так как я могу сделать указатель, который указывает на два байта вместо одного?
Благодаря
Не забудьте не отставать от своего дыхания, когда вы читаете ответы :-) –
Является ли указатель = и писать [1] опечатку? Это, безусловно, не должно работать. –
Да, pointer = & writing [0], возможно, вы имели в виду. Или просто «указатель = письмо»; – Roddy