如何使用matlab读取Arduino串口不同的数据并作图

 我来答
匿名用户
推荐于2018-04-05
展开全部
用matlab读了串口数据然后plot图,但我只会读一种数据。比如只读ADC value,或者只读 Time。但想用matlab把Arduino得到的时间和ADC值都读过去然后做出波形图。时间为横轴,ADC为纵轴。Arduino和matlab代码写在下面了,用那个代码做出来的图横坐标的时间都是不对的,所以必须把Arduino读出的时间也读过去。
Arduino:

#include <MsTimer2.h>
const int INTERVAL = 3;
unsigned long n = 0;
void ggyy() {
n = millis();
int m = analogRead(A0);

Serial.print(n);
Serial.print(" ");
Serial.print(m);
}
void setup(){
Serial.begin(115200);
MsTimer2::set(INTERVAL,ggyy);
MsTimer2::start();
}
void loop() {
delay(800000);
}

Matlab:
s=serial('COM3');
set(s,'BaudRate',115200);
fopen(s);
interval=5000;
passo=1;
t=1;
x=0;
while(t<interval)
b=str2num(fgetl(s));
x=[x,b];
plot(x);
grid
t=t+passo;
drawnow;
end
fclose(s);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式