Matlab - > Arduino串行通信

时间:2016-07-18 23:19:07

标签: matlab arduino serial-port serial-communication

我正在尝试将一些数据从Matlab发送到Arduino,但我没有收到我期望的结果,当我在双变量中发送'5'时,我在Arduino终端收到字符'e'

Arduino代码是:

void setup()
{
  Serial.begin(9600);
}

void loop()
    {
        if (Serial.available())
        {
           Serial.write(Serial.read());
        }
}

matlab代码是:

data=5
PS=serial('COM11','BaudRate',9600);

fopen(PS);

fwrite(PS,data)

fclose(PS);
delete(PS);
clear PS;

1 个答案:

答案 0 :(得分:0)

      Serial.write(Serial.read());

这会准确地发回您收到的内容,因此找出您收到的内容并不是很有帮助。

  • 您是否有可能将其发送到其他地方?
    Serial1,Softserial,lcd?
  • Serial.read()返回一个int,因此您可以使用Serial.println(Serial.read())
    来查看所获得的代码
  • ...以及您收到的字节数
  • 发送/接受文本而不是二进制有时会让生活更轻松