Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Matlab中的Tinkerforge RS485回调_Java_Matlab_Callback_Rs485 - Fatal编程技术网

Java Matlab中的Tinkerforge RS485回调

Java Matlab中的Tinkerforge RS485回调,java,matlab,callback,rs485,Java,Matlab,Callback,Rs485,我想在matlab中实现一个Tinkerforge ReadCallback函数,以记录带有四个从站的RS485bricklet的更改。我能够建立IP连接,如果我通过Brickviewer向bricklet输入一个值,我会在matlab中接收它,但如果没有手动输入,我不会使用回调函数自动接收值 clc clear all global data import com.tinkerforge.IPConnection; import com.tinkerforge.B

我想在matlab中实现一个Tinkerforge ReadCallback函数,以记录带有四个从站的RS485bricklet的更改。我能够建立IP连接,如果我通过Brickviewer向bricklet输入一个值,我会在matlab中接收它,但如果没有手动输入,我不会使用回调函数自动接收值

clc
clear all

global data

    
    import com.tinkerforge.IPConnection;
    import com.tinkerforge.BrickletRS485;
    import java.lang.String;

    HOST = 'localhost';
    PORT = 4223;
    UID = 'DKf'; % Change XYZ to the UID of your RS485 Bricklet

    input('Press key to start\n', 's');
    
    ipcon = IPConnection(); % Create IP connection
    rs485 = handle(BrickletRS485(UID, ipcon), 'CallbackProperties'); % Create device object

    ipcon.connect(HOST, PORT); % Connect to brickd
    % Don't use device before ipcon is connected

     % Set Mode to RS485
    rs485.setMode(BrickletRS485.MODE_RS485);
    
    % Configure RS485Bricklet
    rs485.setRS485Configuration(9600, BrickletRS485.PARITY_EVEN, ...
                                BrickletRS485.STOPBITS_1, BrickletRS485.WORDLENGTH_7, ...
                                BrickletRS485.DUPLEX_HALF);                        
                     
    % Register read callback to function cb_read
    set(rs485, 'ReadCallback', @(h, e)cb_read(e));
    
    % Enable read callback
    rs485.enableReadCallback();
    
   % Write "ASCII" string (Adresse und Befehl)  
   rs485.write(String(':9003015E00020C\r\n').toCharArray()); %SWA 144
    
   rs485.write(String(':8E03015E00020E\r\n').toCharArray()); %SWB 142
   
   rs485.write(String(':8D03015E00020F\r\n').toCharArray()); %SWC 141
    
   rs485.write(String(':8F03015E00020D\r\n').toCharArray()); %SWD 143
    
    input('Press key to exit\n', 's');
    ipcon.disconnect();
    

% Callback function for read callback
function cb_read(e)
    global data

    tmp_t = now;
    fprintf('test \n');
    fprintf('Message: "%s"\n', e.message);
    
    B = convertCharsToStrings(e.message);
    C = [tmp_t; B];
    data = [data, C];       
    
end