我正在从串行端口(在 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/