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:
und der Matlab 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); }
Im workspace erhalte ich :Code:delete(instrfind({'Port'},{'COM5'})); s = serial('COM5', 'BaudRate', 9600); fopen(s); a=fscanf(s,'%f'); disp(a)
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ß







Zitieren

Lesezeichen