-1

我将通过串行通信向 Arduino 发送一个输入。该变量应该存储在一个变量中。我通过串行通信发送的数据应该与模拟输入值进行比较,如果两者相等,则应该执行一些操作。

通过串行通信发送给 Arduino 的数据只发送一次。因此,程序应存储该值并因此与模拟输入值进行比较。我应该使用什么,字符串或字符串转换?

4

2 回答 2

1

您使用analogRead()的模拟数据将是0-1023 范围内的整数(尽管取决于您的传感器,它可能远小于该值,但这些是最小值/最大值)。因此,您通过串行端口发送的目标值可以使用parseInt()存储在int变量中。

于 2013-01-31T10:45:03.327 回答
0

您必须确定字符串的结尾。如果您发送单字符命令或字节值,那么您可以将 Serial.read() 值简单地放入“int”。我怀疑您正在发送文本数字,例如“123”或“1”,“2”,3”,“\ n”的字符串。

char*(string) 或 String 都可以。但是您必须从 serial.read 构建“字符串”并识别字符串的结尾。因此注意使用“\n”。或者您可以将其构图以始终期望相同数量的字符。例如 "0","2",3"

见以前讨论其他

于 2013-01-31T16:25:41.153 回答