gpt4 book ai didi

c - 如何将 512 字节数组分割成更小的 block ?

转载 作者:行者123 更新时间:2023-11-30 14:43:34 24 4
gpt4 key购买 nike

我需要分割我的 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);

但是我需要将字节数组分成两 block 256 字节数组并发送。当我尝试这样做时:

CDC_Transmit_FS((uint8_t*)nandtest,256);
CDC_Transmit_FS((uint8_t*)nandtest[256],256);

由于第二行,编译器给了我错误:

warning: cast to uint8_t*(aka unsigned char*) from samller interger type 'int8_t'(aka signed char)

如何表示我要从数组的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);

关于c - 如何将 512 字节数组分割成更小的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53862480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com