c -将int16_t类型的变量强制转换为uint8_t类型以传递给函数



我想将一个2字节的有符号整数传递给一个函数(STM32 USB传输),该函数接受一个指向1字节无符号整数的指针和以字节为单位的大小,

int16_t some_number;
uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)

我在调用函数时尝试过强制转换数字,但它不起作用。

CDC_Transmit_FS((uint8_t*)some_number,sizeof(some_number));

我还试图将数据分割成数组,但函数接收到的数据是乱码的。我很感激你的帮助,谢谢。

我认为您想传递some_number的地址,即:

CDC_Transmit_FS((uint8_t*)(&some_number),sizeof(some_number));

相关内容

最新更新