gpt4 book ai didi

c - Arduino 从串口读取字符串

转载 作者:太空狗 更新时间:2023-10-29 14:53:31 28 4
gpt4 key购买 nike

#include <stdio.h>

#define LED 13

void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
}

void loop() {
int i;
char command[5];
for (i = 0; i < 4; i++) {
command[i] = Serial.read();
}
command[4] = '\0';

Serial.println(command);

if (strcmp(command, "AAAA") == 0) {
digitalWrite(LED, HIGH);
Serial.println("LED13 is ON");
} else if (strcmp(command, "BBBB") == 0) {
digitalWrite(LED, LOW);
Serial.println("LED13 is OFF");
}
}

我正在尝试使用 Arduino 的串口读取一个 4 个字符长的字符串,当它是 AAAA 时打开 LED,当它是 BBBB 时关闭串口。

但是,当我输入“AAAA”时,它显示为“AAAÿ”,中间有很多“ÿ”。

我认为我正在正确阅读所有内容,但效果不是很好,知道我做错了什么吗?

最佳答案

String txtMsg = "";  
char s;

void loop() {
while (serial.available() > 0) {
s=(char)serial.read();
if (s == '\n') {
if(txtMsg=="HIGH") { digitalWrite(13, HIGH); }
if(txtMsg=="LOW") { digitalWrite(13, LOW); }
// Serial.println(txtMsg);
txtMsg = "";
} else {
txtMsg +=s;
}
}
}

关于c - Arduino 从串口读取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451128/

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