اطلاعیه

Collapse
No announcement yet.

مشکل عجیب و دیوانه کننده در وقفه ارتباط سریال

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

    مشکل عجیب و دیوانه کننده در وقفه ارتباط سریال

    سلام، من این برنامه رو نوشتم ولی میکرو هیچ وقت به نوشته های "هلو" و "بعد وقفه" نمیرسه و انگار توو همون وقفه میمونه. من برای ارتباط rs485 این روش رو دارم استفاده میکنم. نمیدونم چیکار کنم. ممنون میشم کمک کنید
    کد:
    
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    
    
    Config Lcd = 20 * 4
    Config Lcdbus = 4
    Config Lcdpin = Pin , Db4 = Pinb.2 , Db5 = Pinb.3 , Db6 = Pinb.4 , Db7 = Pinb.5 , Rs = Pinb.0 , E = Pinb.1
    Cursor Off
    Cls
    
    
    Enable Interrupts
    Enable Urxc
    On Urxc Data_received
    
    
    Dim Rxd As Byte
    
    
    Wait 1
    Cls
    Locate 2 , 8
    Lcd "HELLO"
    Wait 1
    
    
    Do
    
    
       Cls
       Wait 1
       Locate 2 , 1
       Lcd "badeee vaqhfeee"
       Wait 1
    
    
    Loop
    
    
    End
    
    
    Data_received:
    
    
       Delay
       Input Rxd
       Delay
    
    
    Return
    دوستان من الان max485 رو برداشتم و rx , tx میکرو رو به هم وصل کردم ولی بازم گیرنده در همون حالت هنگ باقی میمونه. جالبته که در حالت بدون وقفه همه چی درسته
    جدیدترین ویرایش توسط اشکان غفارزاده; ۲۱:۵۵ ۱۳۹۶/۰۳/۱۴.

    #2
    پاسخ : مشکل عجیب و دیوانه کننده در وقفه ارتباط سریال

    زیر روال وقفه رو ابجور بنویس

    کد:
    Data_received:
    
    
       
       Rxd=waitkey()
       
    
    
    Return

    دیدگاه


      #3
      پاسخ : مشکل عجیب و دیوانه کننده در وقفه ارتباط سریال

      نوشته اصلی توسط اشکان غفارزاده نمایش پست ها
      زیر روال وقفه رو ابجور بنویس

      کد:
      Data_received:
      
      
         
         Rxd=waitkey()
         
      
      
      Return
      ممنونم، ولی من مجبور به استفاده از دستور input هستم چون میخوام رشته رو به صورت کامل دریافت کنم، متغیر rxd از نوع استرینگ هستش که من اینجا اون رو بایت تعریف کردم. جالب انجاست که من قبلا از همین روش استفاده میکردم و جواب میداد، یعنی واسه ارسال از دستور print و واسه دریافت از دستور input در وقفه استفاده میکردم. ولی الان جواب نمیده. بدون وقفه وقتی دستور input رو در حلقه میذارم جواب میده ولی با وقفه نه. ممنون میشم که منو راهنمایی بفرمایید، الان چند روزه واقعا درگیرم کرده. مرسی

      دیدگاه

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