首页 > 解决方案 > 将 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));

而且我还尝试将数据拆分为数组,但该函数接收到的数据是乱码。我感谢任何帮助,谢谢。

标签: cstm32stm32f4discovery

解决方案


我想你想传递的地址some_number,即:

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

推荐阅读