zoukankan      html  css  js  c++  java
  • Arduino 与matlab串口通讯

    有的时候我们自己给Arduino编好了程序,又希望在Matlab中调用串口,读取数据。此时 Matlab Support Package for Arduino显然不合适了。这里我们要用到Matlab里的串口对象serial。比如当我们需要利用Matlab处理摄像头画面,结合摄像头标定、摄像头识别、3D扫描后建模等等。
    还是以part1里面的简易示波器为例。
    Arduino代码如下:

    int analogPin = 5;
    int val = 0;

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

    void loop()
    {
    val = analogRead(analogPin);
    Serial.println(val);
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    这里还是要实现Matlab的即时读取和画图。Matlab代码如下:

    s = serial('COM3'); %定义串口对象
    set(s,'BaudRate',9600); %设置波特率s
    fopen(s); %打开串口对象s

    interval = 10000; %这里开始的代码很Part1里的代码类似
    passo = 1;
    t = 1;
    x = 0;
    while(t<interval)
    b = str2num(fgetl(s)); %用函数fget(s)从缓冲区读取串口数据,当出现终止符(换行符)停止。
    x = [x,b]; %所以在Arduino程序里要使用Serial.println(http://www.amjmh.com/v/)
    plot(x);
    grid
    t = t+passo;
    drawnow;
    end
    fclose(s); %关闭串口对象s
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    其他关于串口对象serial的函数之后更新
    --------------------- 

  • 相关阅读:
    【初心】
    【杂题集】单题小总结
    【模板】(旧)矩阵模板
    【机智题?】【Vijos】【天平称量】
    【杂题集】【51NOD 1267】4个数和为0
    【模板】(旧)Miller Rabin 素数判定
    【杂谈】只是想想
    【杂谈】思考
    【学习?】组合和排序
    【模版】读入优化
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11304675.html
Copyright © 2011-2022 走看看