اطلاعیه

Collapse
No announcement yet.

ارسال سریال با matlab

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ارسال سریال با matlab

    سلام دوستان
    با استفاده از matlab یک برنامه ارتباط سریال نوشتم اما بعد از چند بار که برنامه درست اجرا شد errorهای زیر را بر میگرداند برای بر طرف شدن این مشکل یا باید برنامه matlab را ببندم و باز کنم یا باید پورت usb را در آورم و دوباره داخل کنم که وقت زیادی ازم میگیرد.
    برنامه وerrorها را در زیر قرار دادم.
    اگر راهنمایی کنید خوشحال میشوم :smile:
    کد:
     
    clc
    s=serial('COM3','Baudrate',1200);
    fopen(s)
    i=0;
    for i=[1:200]
    i=i+1;
      i
      if i<100
       d=['b'];   
       fwrite(s,d) 
       pause(.08);  
         
       elseif i>=101 
       d=['s'];   
       fwrite(s,d) 
       pause(.08); 
      end
       
    end
    
      
    
    
    fclose(s)
    errorها

    کد:
    ??? Error using ==> serial.fopen at 71
    Port: COM3 is not available. Available ports: COM1, COM4.
    Use INSTRFIND to determine if other instrument objects are connected to the requested device.
    
    Error in ==> majid_1 at 3
    
    
    
    
    ??? Error using ==> serial.fwrite at 184
    A timeout occurred during the write operation.
    
    Error in ==> majid_1 at 15
       fwrite(s,d) 
    
    
    
    ??? Error using ==> serial.fopen at 71
    Port: COM4 is not available. Available ports: COM1, COM4.
    Use INSTRFIND to determine if other instrument objects are connected to the requested device.
    
    Error in ==> majid_1 at 3
    fopen(s)
    
    
    
    ??? Error using ==> serial.fopen at 71
    Port: COM3 is not available. Available ports: COM1.
    Use INSTRFIND to determine if other instrument objects are connected to the requested device.
    
    Error in ==> majid_1 at 3
    fopen(s)

    #2
    پاسخ : ارسال سریال با matlab

    سلام

    اینو ببین

    while 1
    s=serial('COM1'
    fopen(s)
    out=fread(s,[2])
    fclose(s)
    delete(s)
    clear s
    end

    اجراش کن ارور نمیده.
    مشکلتو فهمیذی باید s رو پاک کننی
    www.tehranelec.com

    دیدگاه


      #3
      پاسخ : ارسال سریال با matlab

      خب این داره فارسی میگه که اون پورتی که مشخص کردی موجود نیست در حال حاضر
      در واقع وقتی شما اون پورت رو درمیاری دوباره میزنی مثل اینکه هی آدرسش (در واقع اسمش) عوض میشه
      پورت رو که وارد کردی تو دیوایس منیجر ببین چه شماره ای بهش اختصاص داده شده همونو تو برنامه وارد کن.

      دیدگاه


        #4
        پاسخ : ارسال سریال با matlab

        نوشته اصلی توسط kasper
        خب این داره فارسی میگه که اون پورتی که مشخص کردی موجود نیست در حال حاضر
        در واقع وقتی شما اون پورت رو درمیاری دوباره میزنی مثل اینکه هی آدرسش (در واقع اسمش) عوض میشه
        پورت رو که وارد کردی تو دیوایس منیجر ببین چه شماره ای بهش اختصاص داده شده همونو تو برنامه وارد کن.
        راستش بعد از اینکه تو دیوایس منیجر هم شماره رو مبینم و تو برنامه وارد میکنم اصلا انگار نه انگار که یک همچین پورتی وجود داره .error میده ومیگه این پورت قابل دسترسی نیست. :read:
        کد:
        ??? Error using ==> serial.fopen at 71
        Port: COM2 is not available. Available ports: COM1.
        Use INSTRFIND to determine if other instrument objects are connected to the requested device.
        
        Error in ==> test1 at 4
        fopen(s)
        خلاصه این که یا errorهایی شبیه بالا میده یا دو سه بار که درست کار کرد دوباره پورت را نمیشناسد.
        نوشته اصلی توسط محسن محمد خانی
        سلام

        اینو ببین

        while 1
        s=serial('COM1'
        fopen(s)
        out=fread(s,[2])
        fclose(s)
        delete(s)
        clear s
        end

        اجراش کن ارور نمیده.
        مشکلتو فهمیذی باید s رو پاک کننی
        با تشکر از راهنمایی شما برنامتون رو امتحان کردم ولی جواب نداد. :rolleyes:

        دیدگاه


          #5
          پاسخ : ارسال سریال با matlab

          خوب مهندس معلومه که جواب نمی داد باید یه کم عوضش می کردی
          از جمله شماره com
          بادریت و ...
          تعداد دیتایی که میگیری
          نکنه همونو ران کردی :mrgreen:
          www.tehranelec.com

          دیدگاه


            #6
            پاسخ : ارسال سریال با matlab

            نوشته اصلی توسط محسن محمد خانی
            خوب مهندس معلومه که جواب نمی داد باید یه کم عوضش می کردی
            از جمله شماره com
            بادریت و ...
            تعداد دیتایی که میگیری
            نکنه همونو ران کردی :mrgreen:
            نه اتفاقا هم baudrate و هم پورت کام و هم outputbuffersize را تغییر دادم ولی فعلا قصه همونه که قبلا تعریف کردم :rolleyes:

            دیدگاه


              #7
              پاسخ : ارسال سریال با matlab

              نوشته اصلی توسط mmajid
              نه اتفاقا هم baudrate و هم پورت کام و هم outputbuffersize را تغییر دادم ولی فعلا قصه همونه که قبلا تعریف کردم :rolleyes:
              مطمئن باش این کد ها درسته و کار می کنه
              شما مشکل دیگه تو سخت افزار یا ... دارید که نمی تونید دیتا بگیرید
              بیشتر توضیح بدید راهنماییتون کنم
              www.tehranelec.com

              دیدگاه


                #8
                پاسخ : ارسال سریال با matlab

                این که این دستور ها درسته و کار میکنه شکی درش نیست اما تعجب من هم از اینه که چرا وقتی برنامه را run میکنم دو یا سه بار درست اجرا مشود ولی بعد error های بالا رو میدهد حتی کامپیوتر را هم عوض کردم گفتم شاید بخاطر ویروس باشد ولی نتیجه بخش نبود. :read:

                دیدگاه

                لطفا صبر کنید...
                X