%% list of ports serialportlist() %% Num port num_port = 'COM5'; %% Sending data P mode clear serialNUC; serialNUC = serialport(num_port, 9600); configureTerminator(serialNUC, "CR/LF"); % Kpx Kpy SampFreq writeline(serialNUC, "P_0.3_0.2_1.0e-4_!"); while(serialNUC.NumBytesAvailable < 0) end rLine = readline(serialNUC) clear serialNUC %% Sending data PI mode clear serialNUC; serialNUC = serialport(num_port, 9600); configureTerminator(serialNUC, "CR/LF"); % Kpx Kpy Kix Kiy SampFreq writeline(serialNUC, "I_0.2_0.3_0.01_0.0_1.0e-4_!"); while(serialNUC.NumBytesAvailable < 0) end rLine = readline(serialNUC) clear serialNUC %% Sending data STEP mode clear serialNUC; serialNUC = serialport(num_port, 9600); configureTerminator(serialNUC, "CR/LF"); writeline(serialNUC, "S_!"); while(serialNUC.NumBytesAvailable < 0) end rLine = readline(serialNUC) clear serialNUC %% Sending data PID mode clear serialNUC; serialNUC = serialport(num_port, 9600); configureTerminator(serialNUC, "CR/LF"); % Kpx Kpy Kix Kiy Kdx Kdy SampFreq writeline(serialNUC, "D_1.0_1.0_0.1_0.1_0.01_0.01_0.0_!"); while(serialNUC.NumBytesAvailable < 0) end rLine = readline(serialNUC) clear serialNUC %% Collecting data clear serialNUC; a = 0; b = 0; serialNUC = serialport(num_port, 9600); configureTerminator(serialNUC, "CR/LF"); flush(serialNUC); %configureCallback(serialNUC, "terminator", @IT_rx); % NOT WORKING WITHOUT %GUI ??? % preparing data structure - https://fr.mathworks.com/help/matlab/import_export/read-streaming-data-from-arduino.html serialNUC.UserData = struct("Data",[],"Count",1) while true if(serialNUC.NumBytesAvailable > 1) rLine = readline(serialNUC) end end serialNUC.UserData %clear serialNUC