c++ - 发送字节数组的一部分

标签 c++ c arrays arduino

我正在从串行端口(在 Arduino 中)读取数据并将其分帧(同步几个字节)。为此,我将数据读入一个大缓冲区。 获得帧后,我提取数据并使用 serial.write (Serial.write(buf, len)) 将其发送到不同的串行端口,它接受字节数组及其大小。

由于数据大小可以是随机的,我需要动态数组之类的东西(在 Arduino 中不推荐)。有什么想法吗?

最佳答案

Since the data size can be random, I need something like a dynamic array

在 C 中,您很少需要动态数组,因为传递给函数的数组并不携带它们的大小。这就是为什么所有采用数组的函数也采用长度。

假设您的数据位于 bigBuffer 中的 startPos 位置,并且您希望发送 length 字节。您需要做的就是

Serial.write(&bigBuffer[startPos], length);

或者用指针算术语法

Serial.write(bigBuffer+startPos, length);

关于c++ - 发送字节数组的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41660598/

相关文章:

c++ - initializer_list 中的未初始化值(编译器错误?)

c++ - 导致错误的后缀和前缀增量

使用 atoi/sprintf 将整数转换为字符串

c++ - 在我的 https 服务器中禁用 DES

c - 为什么访问非法指针的程序不会崩溃?

c - 优化线段树的范围最大查询?

c - 关于字符指针的二维数组

java - 如何在 Hangman 游戏中使用 3D 数组?

java - 使用 Java 如何确定输入到数组中的 5 个数字是否连续?

c++ - 什么时候在堆中的对象上调用 C++ 析构函数?