% Otvorenenie komunikácie instrreset; % Ak je náhodou niečo pripojené tak to odpojíme % potom to robí šarapatu clc; clear; try % pre istotu pracujem s prikazom try aby som po sebe % likvidoval objekt seriovej linky a prpip. aktivne pripojenie port = 'com3'; fprintf('\n Otváram port %s',port); pause(0.5); s1 = serial(port); fopen(s1); % otvorenie komunikacie pause(2); fprintf(' - OK'); pause(0.5); fprintf('\n Zasielam ziadost o identifikator'); fprintf(s1,'I'); % zaslanie prikazu "I" odpoved = fscanf(s1); % nacitanie odpovede pause(0.5); fprintf(' - %s',odpoved); catch instrreset; delete(s1) end % vyhodnotenie ci prebehlo pripojenie spravne if strcmp(odpoved(1:end-1),'ARD001') fprintf('\n **** Pripojené **** \n'); else fprintf('\n **** Nepripojené **** \n'); delete(s1) return end % Zapis hodnoty 1 na port D13 fprintf('\n Zasielam ziadost o zapisanie hodnot portov - '); fprintf(s1,'W130'); % zaslanie prikazu "A" odpoved = fscanf(s1); % nacitanie odpovede fprintf('%s',odpoved); fprintf(s1,'W021'); % zaslanie prikazu "A" odpoved = fscanf(s1); % nacitanie odpovede fprintf('%s',odpoved); % Citanie hodnoty z portov a zapis do tab fprintf('\n Zasielam ziadost o zaslanie hodnot portov\n'); fprintf(s1,'A'); % zaslanie prikazu "A" odpoved = fscanf(s1); % nacitanie odpovede O = strsplit(odpoved,','); Outputs = O(2:end-1); for i=2:13 names{i-1} = sprintf('D%d',i); end for i=0:5 names{13+i} = sprintf('A%d',i); end T = table(names', Outputs','VariableNames',{'Pin', 'Hodnota'}); disp(T); % Ukoncenie komunikacie disp('Ukoncujem komunikaciu'); fclose(s1); instrreset; delete(s1)