adser 发表于 2012-6-14 10:53:35

请教问题:processing 读取 arduino数据不一致 不知道怎么回事

ARDUINO代码:
void setup()
{
Serial.begin(9600);//RS232串口通讯波特率为9600
}

void loop(){
int data = analogRead(A0);
Serial.println(data/4);//定义向Processing发送数据
delay(100);
}

PROCESSING代码:
import processing.serial.*;
Serial duankou;
int data;

void setup() {
duankou= new Serial(this, "COM3", 9600);
}

void draw() {
if (duankou.available()>0) {
    data=duankou.read();
    println(data);
}
}

ARDUINO 读出的数值:


PROCESSING 出的数值:

adser 发表于 2012-6-14 12:21:10

没人遇过这种情况吗

弘毅 发表于 2012-6-14 13:13:12

我测试了下你的代码。。。我这边显示也是这种问题。。。貌似是processing方面的问题,具体得查查processing语法手册了。

adser 发表于 2012-6-14 15:23:10

好郁闷啊 。。。

adser 发表于 2012-6-14 16:52:52

继续求助 。。。

yyy_zc 发表于 2012-6-18 22:52:42

手工测试一下,可看出问题在那里

yyy_zc 发表于 2012-6-18 22:55:31

使用串口查看工具,或直接使用系统提供的工具。程序-工具-通讯-超级终端,设立为串口三,观察原始传递的数据,可能是编码方式或则拨特绿不对

三水 发表于 2012-6-19 09:45:57

是这样的。。因为你对串口接收的数据没有处理。。

他一个一个字符接收,而不是整个字符串都接收。13 10对应的是/r /n的ascii码,50 53 53对应的是2 5 5的ascii。你要完整接收可以参见arduino example stringtoint或者ansifa 的字符串接收帖子。

processing中字符串接收和arduino字符串接收处理性质大致相同。

adser 发表于 2012-6-19 14:46:57

问题已经解决了 是代码的问题PROCESSING要读取ARDUINO写入到串口的数据   把ARDUINO里面代码中Serial.println换成Serial.write就OK了

№贝儿 发表于 2013-6-28 10:18:22

Serial.println换成Serial.write数据在Arduino中都不能正常读取了呢
怎么回事啊
页: [1]
查看完整版本: 请教问题:processing 读取 arduino数据不一致 不知道怎么回事