Also das mit readline geht ja glaub ich nur wenn ich eine Datai einlese oder? Ich möchte es aber direkt vom Serialport einlesen.
Ich habe nochmal was neues probiert.
Arduino code:
Code:
const float sensorVoltage=A0;
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop() {
int inputVoltage2=analogRead(sensorVoltage); // Spannungswert im bereich zw 0-1023
float voltage2=5*inputVoltage2/1024; // Skalierung auf 0-5V
Serial.println(voltage2);
}
und der Matlab code:
Code:
delete(instrfind({'Port'},{'COM5'}));
s = serial('COM5', 'BaudRate', 9600);
fopen(s);
a=fscanf(s,'%f');
disp(a)
Im workspace erhalte ich :
Wert: Value:
a 1x7 char
aber wenn ich a öffne oder ausgebe (disp(a)) steht dort lediglich: ÿ0.00
Warum wird es mir in char gespeicht? Der hintere Wert 0.00 passt aber. Er erstellt einen char array und setzt mir komische Zeichen davor... Wieso?
Gruß
Lesezeichen