اطلاعیه

Collapse
No announcement yet.

کار با وقفه سریال

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

    کار با وقفه سریال

    با سلام
    یه سوال دارم در مورد وقفه سریال و اینکه چجور میشه هم اینتراپت سریال فعال باشه و هم میکرو بکارش ادامه بده
    یه برنامه نوشتم با استفاده از وقفه سریال که دیتای ورودی رو به صورت بافر هفت بات با دستور input key و Config Serialin = Buffered , Size = 7 بسکام میگیرم
    و برنامه به صورت جدا جواب میده اما در زمانی که دیتای سریال نداریم میکرو متوقف میمونه و کاری انجام نمیده
    از دستور on urxcهم جواب نگرفتم چون دیتا به صورت هفت بایت هست
    کسی میتونه راهنمایی کنه یا مثال بزنه برای دریافت هفت بایت ؟؟

    #2
    پاسخ : کار با وقفه سریال

    سلام
    شما اگر دیتاتون رشته است از کد زیر میتونید استفاده کنید . فقط در فرستنده باید بعد از ارسال carriage return که میشه 13 رو هم بفرستید

    کد:
    $regfile "m8adef.dat"
    $crystal = 8000000
    $baud = 9600
    
    
    Dim Text As String * 10
    On Urxc uart_isr
    Enable Urxc
    Enable Interrupts
    
    main:
    
    do 
    
    if Recive_flag = 1 then 
    cls:lcd Text 
    Recive_flag=0 
    end if 
    
    
    loop 
    
    
    
    
    
    
    
    uart_isr:
    
    Udr_0 = Udr
    
    Select Case Udr_0
    
      Case 13:
    
          Recive_flag = 1
    
         Case Else
    
       Text = Text + Chr(udr_0)
    
    End Select
    
    Return

    دیدگاه


      #3
      پاسخ : کار با وقفه سریال

      مشکل من همین جاست که فرستنده برد صنعتی هست که کد رو به صورت 7 بایت اسکی میفرسته و کد carriage return در اخرش ارسال نمیکنه
      برای همین فعلا با دستور inkey هفت بایت رو تک به تک میگیرم اما برنامه در وقفه سریال متوقف میمونه
      بنظرتون چه کنیم؟

      دیدگاه


        #4
        پاسخ : کار با وقفه سریال

        یه سوال
        میشه دستور مربوط به برنامه کلی رو توی یه حلقه نوشت و دستور خوندن از سریال رو توی مین برنامه و زمانی که دستور سریال دریافت نمیشه برنامه به زیر برنامه بره؟

        دیدگاه


          #5
          پاسخ : کار با وقفه سریال

          از دوستان بسکام کار هم اگه میتونن به صورت پروژه ای کار کنن ممنون میشم بهم اطلاع بدن

          دیدگاه

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