Ciao 访客, welcome back to old school! :p
俺虽是P版版主,非A版版主,但还是回答你一下吧,说得可能会有错,勿怪。问题一解答:arduino 使用的是一个6通道的a/d 转换器,10位的精度(2^10),所以范围在0-1023。问题二解答:你使用的write() 中接受的参数是byte,也就是说8位的精度(2^8),所以范围在0-255。问题三解答:一样使用println(),打开Serial Monitor 就可以看到了。
俺是觉得没有书单单介绍a与p 通信的内容,因为这并不难。关键你要知道你使用的函数接受的参数类型,这点其实很容易在官方的reference 上查到。你知道了参数类型,就可以了解这种参数类型的局限性,是否需要在通信时做映射,或者是否要合并到一个字符串,再到p端调用splitTokens 做拆解。
建议:你在Arduino中,用serial.write() .原因:在A中传字符串到P,P中就拿字符串收. PS: println()函数是传输的ASCII码. 您的代码中:在A中传ASCII码,然后在P中存储在 int类型中,所以会不同.
@RavenKwok 三点回答,赞!关于serial.write() :http://arduino.cc/en/Serial/Write关于splitTokens() : http://processing.org/reference/splitTokens_.html
@alvin123俺已经在三楼回答你了。"。。。或者是否要合并到一个字符串,再到p端调用splitTokens 做拆解。"大Q在七楼把splitTokens 的文档页链接也给你了。"关于splitTokens() : http://processing.org/reference/splitTokens_.html"无意冒犯,但俺觉得你应该花点时间看下。
String msg = String(a) + "," + String(b) + "," + String(c);http://arduino.cc/en/Reference/StringConstructor