Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



guidata (MATLAB(GUI))

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

guidata (MATLAB(GUI))

Autor: Dvoracek Martin

11:12:29 03.02.2009

Mam nasledujici problem:

Jednoduchy programek s gui a serivym portem.

v casti OpeningFcn vytvarim nejake promene counters dle nasledujiciho kodu.

handles.counters.sa=0;
handles.counters.sos=0;
handles.counters.sd=0;
handles.counters.sv=0;
handles.counters.e=0;
guidata(hObject, handles);


Seriovy port je nastven stiskem tlacitka "connect" dle:

function pushbutton1_Callback(hObject, eventdata, handles)
fopen(handles.port);
handles.port.terminator=13;
handles.port.BytesAvailableFcnMode = 'terminator';
handles.port.BytesAvailableFcn = {@MessageRecv,hObject,handles};
guidata(hObject, handles);


Funkce MessageRecv je spousena kdyz prijde enter, coz je soucastne koncovy znak prijimane zpravy. V teto funkci zpracovavam prijatou zpravu a na jejim zaklade potrebuji menit hodnoty ve strukture counters. A nejspis presne nechapu vyznam funkce guidata. Protoze po zmene ve strukrure counters napr:

handles.counters.sa=handles.counters.sa+1;
guidata(hObject, handles)

jsem ocekaval ze pri prichodu nove zpravy bude jiz hodnota v handles.counters.sa o jednicku zvisena. Nicmene hodnota v handles.counters.sa je pri kazde prijate zprave vzdy nulova.

Uz me nenapada v kde hledat problem, takze bych potreboval poradit. Mate nejaky napad?

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: