У меня есть устройство на моем последовательном порту, который выплескивает несколько строк текста после получения символа h
. Я хочу поместить эти строки текста в файл с помощью Matlab.Запись в файл от обратного вызова
Это мой обратный вызов fromBox.m
:
function fromBox = intcon1(val1, obj, eventStruct, val2)
s = evalin('base','s');
textFromBox = evalin('base','textFromBox');
thisLine = char(fgets(s));
fprintf(textFromBox,thisLine);
disp(thisLine);
Это сценарий:
path = '/dev/tty.usb*';
% log file
system('touch test.csv');
textFromBox = fopen('test.csv');
s = serial(strcat(ls(path)));
fopen(s);
% Serial port settings:
s.BytesAvailableFcnMode = 'terminator';
s.BytesAvailableFcn = @fromBox;
helpCmd = char('h');
% print the string to the serial port
fprintf(s,helpCmd);
Я могу видеть из disp
, что я читал в строках, но файл остается пустым. Как получить функцию обратного вызова для записи в файл?