اطلاعیه

Collapse
No announcement yet.

ارتباط سریال Usart

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

    ارتباط سریال Usart

    در یک پروژه با میکرو Atmega 8 بوسیله وقفه سریال اطلاعات از پورت Rxd میکرو زمانی که دریافت شد میخوام تک تک بایتها که حدود 15 کاراکتر هست بدون هیچ تغییری در متغیر A ذخیره بشن .
    ساده ترین دستور برای ذخیره کردن اطلاعات از سریال میکرو چیه؟
    دوستان اگه مثالی رو مطرح کنن ممنون میشم.

    #2
    پاسخ : ارتباط سریال Usart

    زبان برنامه نوسی؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    چرا ناراحتی پاتریک!
    + امروز ی بچه دیدم سرچهارراه گل میفروخت
    - از دیدنش ناراحت شدی؟
    + نه
    پس چی ناراحتت کرده
    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
    ------------------------------------------------------------------------------------------------------
    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
    ------------------------------------------------------------------------------------------------------
    محصولات

    دیدگاه


      #3
      پاسخ : پاسخ : ارتباط سریال Usart

      نوشته اصلی توسط سوران آراسته
      زبان برنامه نوسی؟؟؟؟؟؟؟؟؟؟؟؟؟؟
      یادم رفت بگم ..
      بسکام

      دیدگاه


        #4
        پاسخ : ارتباط سریال Usart

        ساده ترین حالت اینکه بعد از فعال سازی وقفه هر بار رجیستر UDR رو در یک ارایه قرار بدین و هر بار با اجرای وقفه یک متغیر به صورت واحدی افزایش داشته باشه و در نهایت بعد از رسیدن به برین سراغ انالیز دیتا.
        اگه میکرو کار خاص دیگه ای هم نداره در حلقه do loop اصلی هم این کار میسره.
        بیسیک رو تقریبا فراموش کردم ولی تا جایی که یادم باشه در خدمتم.
        موفق باشید
        چرا ناراحتی پاتریک!
        + امروز ی بچه دیدم سرچهارراه گل میفروخت
        - از دیدنش ناراحت شدی؟
        + نه
        پس چی ناراحتت کرده
        + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
        ------------------------------------------------------------------------------------------------------
        تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
        ------------------------------------------------------------------------------------------------------
        محصولات

        دیدگاه


          #5
          پاسخ : ارتباط سریال Usart

          ممنون از پاسختون ،میکروی هیچ کار دیگری نداره فقط میخوام این اطلاعات رو دریافت کنه و روی ال سی دی نمایش بده
          اگه امکانش هست یه مثالی از اونچه که در پست بالا مطرح کردید عنوان کنید ...

          دیدگاه


            #6
            پاسخ : ارتباط سریال Usart

            کسی نیست جواب بده ...

            دیدگاه


              #7
              پاسخ : ارتباط سریال Usart

              والا من بسکام رو سیستم خودم نصب نیست و یه جورایی بسکام رو هم فراموش کردم ولی pdf که برات گذاشتم می تونه کمکت کنه.
              فایل های پیوست شده
              چرا ناراحتی پاتریک!
              + امروز ی بچه دیدم سرچهارراه گل میفروخت
              - از دیدنش ناراحت شدی؟
              + نه
              پس چی ناراحتت کرده
              + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
              ------------------------------------------------------------------------------------------------------
              تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
              ------------------------------------------------------------------------------------------------------
              محصولات

              دیدگاه


                #8
                پاسخ : ارتباط سریال Usart

                ممنون ولی جواب نداد

                دیدگاه


                  #9
                  پاسخ : ارتباط سریال Usart

                  کدی که نوشتی رو بزار تا نگا کنم.
                  چرا ناراحتی پاتریک!
                  + امروز ی بچه دیدم سرچهارراه گل میفروخت
                  - از دیدنش ناراحت شدی؟
                  + نه
                  پس چی ناراحتت کرده
                  + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                  ------------------------------------------------------------------------------------------------------
                  تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                  ------------------------------------------------------------------------------------------------------
                  محصولات

                  دیدگاه


                    #10
                    پاسخ : ارتباط سریال Usart

                    $regfile = "m8def.dat"
                    $crystal = 8000000
                    $baud = 9600
                    Dim G As Byte
                    Dim A As Byte : A = 0
                    Dim Aa As String * 1 : Aa = ""
                    Dim Rfid As String * 20 : Rfid = ""
                    Config Pinc.5 = Output
                    Config Lcd = 16 * 2
                    Config Lcdpin = Pin , Rs = Portb.5 , E = Portb.4 , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3
                    On Urxc Serial_int
                    Enable Urxc
                    Enable Interrupts
                    Cursor Off
                    Cls
                    Do
                    Waitms 200
                    Locate 1 , 1 : Lcd "RFID: "
                    Loop
                    End
                    Serial_int:
                    G = 0
                    A = 0
                    Aa = ""
                    Rfid = ""
                    Do
                    Inputbin , A
                    Select Case A
                    Incr G
                    Case 0:
                    Case 13:
                    Exit Do
                    Case Else
                    If G > 3 Then
                    Aa = Chr(a)
                    Rfid = Rfid + Aa
                    End If
                    End Select
                    Loop
                    Locate 1 , 7 : Lcd Rfid

                    دیدگاه


                      #11
                      پاسخ : ارتباط سریال Usart

                      اولاً اینکه بجای inputbin وقتی وارد وقفه میشه مستقیم رجیستر UDR رو داخل متغیرتون خالی کنید خ بهتر و راحت تره!
                      دیگه اینطوری نیاز به اون حلقه Do هم ندارید، هربار وقفه دریافت رخ بده، مقدار UDR رو داخل متغیر بریزید، حالا چک کنید که 0 یا 13 نباشه (طبق برنامه خودتون) و در غیر این صورت به آرایه اضافه بشه!
                      شما الان توی وقفه یه حلقه گذاشتین که یه کار خیلی ناجوریه :|

                      البته الان بسکام رو نصب ندارم که بتونم چک کنم برنامه ای که میگم رو ولی فک کنم این درست و بدون خطا باشه:
                      کد:
                      Serial_int:
                      A = UDR
                      if A <> 13 and A<>0 then
                      	Aa = Chr(a)
                      	Rfid = Rfid + Aa
                      	Incr G
                      end if
                      نشون دادن متغیر روی LCD رو هم توی حلقه اصلی برنامه بذارید

                      «پشتکار» «پشتکار» «پشتکار»

                      دیدگاه


                        #12
                        پاسخ : ارتباط سریال Usart

                        نوشته اصلی توسط کنجکاو!
                        اولاً اینکه بجای inputbin وقتی وارد وقفه میشه مستقیم رجیستر UDR رو داخل متغیرتون خالی کنید خ بهتر و راحت تره!
                        دیگه اینطوری نیاز به اون حلقه Do هم ندارید، هربار وقفه دریافت رخ بده، مقدار UDR رو داخل متغیر بریزید، حالا چک کنید که 0 یا 13 نباشه (طبق برنامه خودتون) و در غیر این صورت به آرایه اضافه بشه!
                        شما الان توی وقفه یه حلقه گذاشتین که یه کار خیلی ناجوریه :|

                        البته الان بسکام رو نصب ندارم که بتونم چک کنم برنامه ای که میگم رو ولی فک کنم این درست و بدون خطا باشه:
                        کد:
                        Serial_int:
                        A = UDR
                        if A <> 13 and A<>0 then
                        	Aa = Chr(a)
                        	Rfid = Rfid + Aa
                        	Incr G
                        end if
                        نشون دادن متغیر روی LCD رو هم توی حلقه اصلی برنامه بذارید
                        ممنون بخاطر پاسختون تست میکنم و نتیجه رو اعلام میکنم.

                        دیدگاه

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