Je suis en tout, sauf peut-être la respiration, novice désolé si je ne suis pas clair, mais voilà:Faire un pointeur qui pointe vers deux octets
J'ai une fonction en C qui écrit octets à un circuit via un bus I2C, et dans le fichier d'en-tête, il ressemble à ceci:
BOOL WINAPI JidaI2CWrite(HJIDA hJida, DWORD dwType, BYTE bAddr, LPBYTE pBytes, DWORD dwLen);
- hJida: poignée du Conseil.
- dwType: Numéro à base zéro du bus I2C .
- bAddr: Adresse de l'appareil sur le bus I2C , les 8 bits complets tels que sont écrits sur le bus.
- pBytes: Pointeur vers l'emplacement contenant les octets.
- dwLen: Nombre d'octets à écrire.
Si je voulais écrire un seul octet à un circuit avec l'adresse 0x98, je ferais quelque chose comme ceci:
unsigned char writing[1];
writing[0]=0x10;
unsigned char *pointer;
pointer = &writing[0];
JidaI2CWrite(hJida,0,0x98,pointer,1);
qui semble fonctionner, mais si je voulais écrire deux octets, disons 0x10FF, ce n'est pas le cas. Alors, comment faire un pointeur qui pointe sur deux octets au lieu d'un seul?
Merci
N'oubliez pas de suivre votre respiration en lisant les réponses :-) –
Est-ce que pointer = & écrire [1] une faute de frappe? Cela ne devrait certainement pas fonctionner. –
Oui, pointer = & écrire [0] est probablement ce que vous vouliez dire. Ou, juste "pointeur = écriture"; – Roddy