【发布时间】:2016-05-28 22:15:22
【问题描述】:
我想将数值数据从 Simulink 发送到 Arduino Uno。
因为我不知道如何让它在 Simulink 中工作,所以我只是尝试使用 Matlab。
此代码以char 发送数字数据。所以一次一个字符到 Arduino。之后,我必须将字符连接起来构造数值,然后将其交给 Arduino 处理。然后用同样的方法发回Matlab。
我想知道是否有可能将数值数据作为数值发送到 Arduino,并将其作为数值数据发送回 Matlab/simulink。
这是我在 Matlab 中使用的代码:
close all; clear all ; clc;
delete (instrfind({'Port'},{'COM5'}))
s = serial('COM5');
set(s,'DataBits',8);
set(s,'StopBits',1);
set(s,'BaudRate',4800);
set(s,'Parity','none');
fopen(s)
while (1)
if (s.BytesAvailable)
readData=fscanf(s)
else
fprintf(s,'arduino');
end
end
fclose(s)
这是我在 Arduino 中使用的代码:
int sensorPin = A0;
int sensorValue = 0;
char incomingData;
void setup() {
Serial.begin(4800);
}
void loop() {
if (Serial.available() > 0)
{
incomingData = Serial.read(); //read incoming data
Serial.println(incomingData);
delay(100);
}
else {
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
delay(100);
}
}
【问题讨论】:
标签: matlab arduino simulink arduino-uno