پورت سریال در متلب

leila_a

عضو جدید
سلاممن می خوام با gui متلب و از طریق پورت سریال یک موتور رو کنترل کنم این کارو به صورت ارسال یک رشته به پورت انجام میدم با ارسال اولین رشته به پورت موتور حرکت میکه اما اگر بعد از اون با دکمه ارسال رو بزنم دیگه موتور حرکت نمیکنه تا برنامه دوباره اجرا بشه برای حل مشکل خواستم پورت رو نبندم و جداگانه برای این کار یک دکمه طراحی کنم .اما خطا میده که پورت فعال نیست.کسی میتونه کمکم کنه ؟اینم کد:spee=get(handles.s1,'String');stardeg=get(handles.sd1,'String');stopdeg=get(handles.sd2,'String');rotd=get(handles.rd,'Value');y4=num2str(rotd);s=strcat('#',',',spee,',',stardeg,',',stopdeg,',',y4,',',';')m=serial('com3', 'BaudRate', 9600,'DataBits' , 8 );fopen(m);fprintf(m,'%s',s);fcolse(m);
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
سلاممن می خوام با gui متلب و از طریق پورت سریال یک موتور رو کنترل کنم این کارو به صورت ارسال یک رشته به پورت انجام میدم با ارسال اولین رشته به پورت موتور حرکت میکه اما اگر بعد از اون با دکمه ارسال رو بزنم دیگه موتور حرکت نمیکنه تا برنامه دوباره اجرا بشه برای حل مشکل خواستم پورت رو نبندم و جداگانه برای این کار یک دکمه طراحی کنم .اما خطا میده که پورت فعال نیست.کسی میتونه کمکم کنه ؟اینم کد:spee=get(handles.s1,'String');stardeg=get(handles.sd1,'String');stopdeg=get(handles.sd2,'String');rotd=get(handles.rd,'Value');y4=num2str(rotd);s=strcat('#',',',spee,',',stardeg,',',stopdeg,',',y4,',',';')m=serial('com3', 'BaudRate', 9600,'DataBits' , 8 );fopen(m);fprintf(m,'%s',s);fcolse(m);

من این کار رو نکردم اما میتونم یه پیشنهاد بدم که در مورد زبان های دیگه در این خصوص جواب میده.
وقتی m رو ایجاد میکنی و بازش می کنی، به صورت global اعلانش کن و در هرجا بهش نیاز داری از همون استفاده کن.

کد:
global m;
m=serial(...);
fopen(m);
.
.
.
% for using
global m;
%your code with using m
 

mzolfaghari

عضو جدید
سلاممن می خوام با gui متلب و از طریق پورت سریال یک موتور رو کنترل کنم این کارو به صورت ارسال یک رشته به پورت انجام میدم با ارسال اولین رشته به پورت موتور حرکت میکه اما اگر بعد از اون با دکمه ارسال رو بزنم دیگه موتور حرکت نمیکنه تا برنامه دوباره اجرا بشه برای حل مشکل خواستم پورت رو نبندم و جداگانه برای این کار یک دکمه طراحی کنم .اما خطا میده که پورت فعال نیست.کسی میتونه کمکم کنه ؟اینم کد:spee=get(handles.s1,'String');stardeg=get(handles.sd1,'String');stopdeg=get(handles.sd2,'String');rotd=get(handles.rd,'Value');y4=num2str(rotd);s=strcat('#',',',spee,',',stardeg,',',stopdeg,',',y4,',',';')m=serial('com3', 'BaudRate', 9600,'DataBits' , 8 );fopen(m);fprintf(m,'%s',s);fcolse(m);

سلام بنده اینکارو کردم و میدونم مشکلتون کجاست در اسرع وقت ایمیل بزنید تا کدهایی که زدمو نگاه کنم بگم چیکار کنید
شاد باشید و برقرار
 

Similar threads

بالا