Suspicious pointer conversion
Posted: 08 Jan 2020 19:50
I'm getting a 'suspicious pointer conversion warning' for the following code; it works OK and does what I want, but why the warning?
/*
Convert int16 to bytes
----------------------
*/
void int2Bytes(int16_t parameter, uint8_t *pMSB, uint8_t *pLSB)
{
uint8_t * addr;
addr = ¶meter;
*pLSB = * addr;
*pMSB = *(addr+1);
}
Then in the calling function:
uint8_t MSB, LSB;
int2Bytes(accX, &MSB, &LSB);
[accX is defined earlier in the code]
Any ideas?
Thanks
Pete
/*
Convert int16 to bytes
----------------------
*/
void int2Bytes(int16_t parameter, uint8_t *pMSB, uint8_t *pLSB)
{
uint8_t * addr;
addr = ¶meter;
*pLSB = * addr;
*pMSB = *(addr+1);
}
Then in the calling function:
uint8_t MSB, LSB;
int2Bytes(accX, &MSB, &LSB);
[accX is defined earlier in the code]
Any ideas?
Thanks
Pete