variables - arudino 有没有一种方法可以在它们通过串行连接时将值存储到不同的变量中?
问题描述
我已经构建了一个 android 应用程序,它将通过串行连接发送一串值(使用 getbyte()_)。我希望这些值中的每一个都存储在一个单独的变量中/
例如:
像这样的数字列表:
10004056700003
通过连接发送。
arduino 方面有很多变量:
A,B,C,D....等
我希望能够做到这一点:
A = 1
B = 0
C = 0
D = 0
E = 4
F= 0
.... 等等。然后我将使用这些变量在 arduino 上运行特定的函数序列。从这个意义上说,android 应用程序只是为了控制 arduino。
谢谢您的帮助!:D
解决方案
串行通信通常按字节进行。
因此,如果您想传输一个数字序列(>255),最简单的方法是将每个数字作为一个字节发送。
在接收端,您基本上有两种选择。
a)您读取每个字节并在读取下一个字节之前对其进行处理。
b)您将字节读入缓冲区数组并稍后对其进行处理。
如果您想最小化传输的字节数,您当然可以将数值拆分为几个字节,而不是传输每个数字。
推荐阅读
- sql - 带有 IS NULL 检查的更新操作对竞争条件是否安全?
- recursion - 我想使用记忆来优化我的递归解决方案,以解决不同的子序列问题
- reactjs - 错误:您提供的错误不包含堆栈跟踪 Google Auth
- multithreading - Rabbitmq pika 关于多进程和多线程架构
- sql - SQL (Postgres):在 EXISTS 中使用 JOIN 时性能不佳
- javascript - 当它“挂起”时如何中断阅读器(需要在 Reader.read() 上超时)
- java - Java TCP:从网络读取输入流时缓冲区下溢
- excel - 为什么 Excel VBA 会为 Adobe 参考引发 Class not registered 错误?
- vb.net - 3位数字vb.net程序的错误比较结果(逻辑错误)
- java - 空时如何从MongoDB文档中自动删除数组[Java]