【问题标题】:Matlab arduino serial communicationMatlab arduino 串行通信
【发布时间】:2016-11-26 02:37:46
【问题描述】:

我正在尝试将一些数据从 Matlab 发送到 arduino。它是[1×2]的矩阵。我的计划是将这两个数字转换为字符串并发送到 arduino。但是在串行监视器中,我无法读取来自 matlab 的任何值。

这是我的matlab代码,

val_a = matt(n,:);
                 A = [val_a];

                asd = A(1:1);
                asb = A(:,2);
                strA = num2str(asd);
                strB = num2str(asb);
                comma = ',';
                endVal = '#';
                theString = strcat(strA,comma,endVal);

                obj1 = instrfind('Type', 'serial', 'Port', 'COM19', 'Tag', '');

                if isempty(obj1)
                    obj1 = serial('COM19');
                else
                    fclose(obj1);
                    obj1 = obj1(1);
                end

                fopen(obj1);
                fprintf(obj1,theString)

                fclose(obj1);
                delete(obj1);
                A = [];

这是arduino的连续事件

bool gotalfa = false;
bool event = false;
void serialEvent() {
while (Serial.available()) 
{
  char inChar = (char)Serial.read(); 
  event = true;
  if (inChar == , && !gotalfa) 
  {
  alfa = inputString;
  inputString = "";
  gotalfa = true;
  event = false;
  }
  if (inChar == '#' && gotalfa) 
  {
    theta = inputString;
    gotalfa = false;
    inputString = "";

    Serial.print("alfa ");
    Serial.print(alfa);
    Serial.print("theta ");
    Serial.println(theta);

    //some program.... 
    event = false;
  }
  if(event)
  {
    inputString += inChar;
  }}}

我是否必须更改我的 matlab/arduino 代码中的任何内容。非常感谢任何有用的提示。

提前谢谢你

【问题讨论】:

  • 你有解决这个问题的办法吗?请发布更新

标签: matlab arduino serial-communication


【解决方案1】:

只是一个提示,希望它能为您提供答案。

我会使用 putty 或 teraterm 之类的终端程序来找出错误的根本原因。

即运行 putty/teraterm 将某些字符串发送到您的 arduino 的串行端口,看看它是否返回了预期的字符串。

http://www.putty.org/ https://ttssh2.osdn.jp/index.html.en

另外,考虑在 Arduino 中使用 ReadStringUntil。 https://www.arduino.cc/en/Serial/ReadStringUntil

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    相关资源
    最近更新 更多