Hallo,
Ich habe folgendes Problem.
4 Arduino Dues sind über CANBus (Master-Slave) miteinander verbunden.
Alle 5 ms sendet der Master die Messergebnisse von den Slaves über
Native Serial USB an Matlab.
Hier der MATLAB Code:
1 | clear all;
|
2 | close all;
|
3 | clc;
|
4 | if ~isempty(instrfind)
|
5 | fclose(instrfind);
|
6 | delete(instrfind);
|
7 | end
|
8 |
|
9 |
|
10 | SerialPort = serial('COM4');
|
11 | set(SerialPort, 'BaudRate', 20000000);
|
12 | set(SerialPort, 'DataBits', 8);
|
13 | set(SerialPort, 'Parity', 'none');
|
14 | set(SerialPort, 'ReadAsyncMode', 'continuous');
|
15 | set(SerialPort, 'Terminator','CR');
|
16 | tic;
|
17 | fopen(SerialPort);
|
18 | flushinput(SerialPort);
|
19 | fscanf(SerialPort)
|
20 | fclose(SerialPort);
|
21 | delete(SerialPort);
|
22 | toc
|
Das Verbinden und Trennen dauert zwischen 30 und 90 Sekunden. Eigentlich
sollte es nur paar Millisekunden dauern. Hatte jemand das selbe Problem
und kann mir sagen wieso das so lange dauert?