Arduino Integer error
Arduino Integer error
我们试图初始化一个字符数组,但我们收到一个错误,说我们不能,因为我们不能混合整数和字符,但我们没有初始化整数。
提前感谢
void setup()
{
Serial.begin(9600); //Set the serial monitor.
lcd.begin(16, 2); //Set the LCD
}
char line1 [5] = {0};
char line2 [] = {0};
void loop()
{
if (Serial.available() > 0) { //If the serial monitor is open it will read a value.
line1 = Serial.read();
delay(10);
Serial.print(line1);
lcd.print(line1);
}
}
我不是阿都因人,但我昨晚确实住在假日酒店,可以访问谷歌:)
http://arduino.cc/en/Serial/Read
Serial.read()
返回单个字节(作为int
)。您正试图将其分配给一个char数组。
你不能那样做。您可以在数组中为特定元素赋值:line1[0] = 'c';
例如,但不能将其赋值给数组本身。
看起来你在寻找Serial.readBytes()
http://arduino.cc/en/Serial/ReadBytes
看起来像:
Serial.readBytes(line1, 5);
在5
是缓冲区(数组)长度的情况下。这将(最多)向line1
缓冲区中读取5个字节。
编辑以添加:也就是说,arduino的"C-Like"语言与C非常相似,因为它希望"字符串"(char
数组)在传递给Serial.print()
时以null
终止。上面的建议没有做到这一点,事实上会造成问题。
您需要做的是读取小于数组长度一个字节的,然后null
使用实际读取的字节数终止"字符串",这就是bytesRead()
返回给您的字节数(数组为零索引):
int numBytesRead = 0;
...
numBytesRead = Serial.readBytes(line1, 4);
line1[numBytesRead] = ' ';
Serial.print(line1);
选项B是按照我最初提到的那样做,但使用索引从line1
数组中一次循环并打印一个字节
int numBytesRead = 0;
numBytesRead = Serial.readBytes(line1, 5);
int i;
for (i = 0; i < numBytesRead; i++) {
Serial.print(line1[i]);
}
根据文档,Serial.print()
自动知道发送一个字节/字符,而这就是所有传递给它的信息
相关文章:
- "error: no matching function for call to"构造函数错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- C++错误:"error: int aaa::bbb is protected within this context"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- C++ "error: invalid use of void expression"
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 如何修复"error: ‘_1’ was not declared in this scope"?
- 从不同目录执行时"symbol lookup error:",否则从构建目录执行时按预期工作
- 对象声明中的模板"error: expected expression"
- 在C++中使用 Catch 测试框架编译错误"error: expected ';' at end of declaration list"
- OpenCV 3.4.1 error readNetFromTensorflow 无法在 cv::d nn::ReadProtoFromBinaryFile 中打开 .pb
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 为什么选择 g++ 给予者:"error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]"
- 编译 C++ 代码时"Error: comparison between pointer and integer"
- Arduino Integer error