c - 如何将 512 字节数组拆分为更小的部分?
问题描述
我需要拆分我的 512 字节数组,我有一个看起来像的函数
uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)
我有一个名为 nandtest 的数组,下面两行代码工作正常。
int8_t nandtest[520] = {0};
CDC_Transmit_FS((uint8_t*)nandtest,512);
但是我需要将字节数组拆分为两个 256 字节数组并发送它。当我尝试这样做时:
CDC_Transmit_FS((uint8_t*)nandtest,256);
CDC_Transmit_FS((uint8_t*)nandtest[256],256);
由于第二行,编译器给了我错误:
警告:从 samller 整数类型“int8_t”(又名有符号字符)转换为 uint8_t*(又名无符号字符*)
如何表示我想要从数组的 256 字节位置开始的第二行传输函数?或者创建两个不同的 256 字节数组是这里唯一的选择?
解决方案
第一条语句是正确的,但对于第二条语句,您需要使用运算符的地址,因为您的 CDC_Transmit_FS 函数需要缓冲区的地址,但您在位置 nandtest[256] 传递值。
CDC_Transmit_FS((uint8_t*)nandtest,256);
这与:
CDC_Transmit_FS((uint8_t*)&nandtest[0],256);
要传递第二个 256 字节缓冲区,请使用以下方法传递 257 字节的地址:
CDC_Transmit_FS((uint8_t*)&nandtest[256],256);
推荐阅读
- android - gitlab runner npm install 错误“npm ERR!prepareGitDep”
- deep-learning - 关于使用 1*1 卷积的技巧
- python-3.x - 这段代码可能有什么问题?我收到“未定义 gs”错误
- apache - 如何使用 .htaccess 将 URL 重定向到新 URL?
- python - 在 Pandas 数据框中查找最接近输入的值
- java - 具有自动生成的主键并能够手动设置 JPA
- marklogic - Gradle 和代理:协商身份验证错误:提供的名称无效(机制级别:KrbException:找不到默认领域)
- c++ - E2140 表达式必须具有整数或无范围枚举类型
- javascript - JavaScript 输入提醒用户
- push-notification - 如何使用 HMS Push Kit 设置通知的优先级?