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));
推荐阅读
- vue.js - 类更改属性的转换
- ssrs-2012 - SSRS 工具提示未显示
- azure-ad-b2c - Microsoft.Identity.Client 返回格式错误的结果
- python - 在内存中存储一个大的稀疏矩阵来计算特征值
- .htaccess - 删除内容位置响应标头
- vuejs2 - VueJS - 嵌套 v-on:click 和 v-if 使组件消失
- scala - 使用 GroupBy Pivot Agg 在 Scala Spark 中重塑 DataFrame
- logging - Vertx 日志记录:访问请求上下文
- android - 如何使用 JNI 从 Android 本机 C++ 调用 PackageManager.hasSystemFeature?
- visual-studio-code - VS 代码调试器停止