اطلاعیه

Collapse
No announcement yet.

انتقال اطلاعات با ماژول hmt-hmr

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

    #16
    پاسخ : انتقال اطلاعات با ماژول hmt-hmr

    یه استارت
    و استوب بیت
    اسون ترین راه هستش
    inputbin data
    (a=char (data
    if char a=2 mojavez =1
    if mojavez =1 then

    dataall=data+dataall
    end if
    if a=3 then:
    datainput=dataall
    mojavez+2
    end if
    ببین این راه رو توضیح میدم
    اگه نونستی بنویسی خودم کمکت میکنم
    تو فرستنده
    ین کارو میکنی
    تو شروع ارسال کاراکتر 2 رو ارسال میکنی
    متغیر مجوز 1 میشه
    با یک شدن این متغیر
    دریافت شروع میشه
    و رشته ها پشت سر هم
    جمع میشن
    با امود کاراکتر 3 تو پایان رشته
    ورودی بست شده کارارکتر تو متغیر اصلی جا گذاری میشه
    برای این
    نوع دستورات
    استفاده از وفقه یوزارت یا سریال جباری هستش
    [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

    دیدگاه


      #17
      پاسخ : انتقال اطلاعات با ماژول hmt-hmr

      Serial_int:
      ' K = Len(id1)
      'If K > 13 Then Id1 = ""
      'if k>10 then :locate 1,1 :lcd id1 :wait 2:end IF
      'For I = 1 To 12
      'A = Inkey()
      Inputbin A
      Aa = Asc(a)

      If Aa = 44 Then : Ss = "" : Dd = "" : Cls : Return : End If


      If Aa = 3 Then : Kk = 2 : A = "" : End If
      If Kk = 1 Then Dd = Dd + A
      If Aa = 2 Then Kk = 1
      If Kk = 2 Then : Ss = Dd : Kk = 3 : Dd = "" : Cls : End If
      'If Aa = 3 Then dd=""
      'If A <> Chr(13 )then : Ss = Ss + A : End If
      'Next
      'Enable Urxc
      'Ii = 1

      Return

      End
      [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

      دیدگاه


        #18
        پاسخ : انتقال اطلاعات با ماژول hmt-hmr

        دوست عزیز من یه بار از این ماژول ها خریدم و باش به مشکل برخوردم .
        اخرش فهمیدم که باید پایه ی enable را به 0 ولت وصل کنم .
        دیدم شما نوشتید اونا vcc وصل کردید .
        یه بار به gnd وصل کنید شاید جواب داد .
        practice make perfect

        دیدگاه


          #19
          پاسخ : انتقال اطلاعات با ماژول hmt-hmr

          نوشته اصلی توسط soroosh.m
          دوست عزیز من یه بار از این ماژول ها خریدم و باش به مشکل برخوردم .
          اخرش فهمیدم که باید پایه ی enable را به 0 ولت وصل کنم .
          دیدم شما نوشتید اونا vcc وصل کردید .
          یه بار به gnd وصل کنید شاید جواب داد .
          یه چیزی می گین !!!!
          تو دیتا شیت خوده سازنده اوومده گفته باید به vcc وصل بشه بعد شما صفر کردی جواب گرفتی ؟؟؟؟
          چه جوری میشه آخه!!!!
          یا همین موضوع که خیلیا می گن بدون مکس 232 جواب گرفتن
          من سرچ کردم این ماژول فقط خروجیش rs232 چه طور وصلش می کنید به میکرو اوونم مستقیم ؟؟؟

          یکم دقت کنید یکی می خونه 4 روز دوره خودش می چرخه !!!!

          در مورد کد کردن هم اگه برنامه منو بخونید من قبل از ارسال mnt میفرستم و اوون طرف اگه این اول اطلاعات بوود اوونو دیکد می کنم

          این میشه کد دهی
          { خلاف قوانین ، پاک شد }

          دیدگاه


            #20
            پاسخ : انتقال اطلاعات با ماژول hmt-hmr

            دوست عزیز از من که این طوری بود . جواب هم گرفتم !!!!!!!
            practice make perfect

            دیدگاه


              #21
              پاسخ : انتقال اطلاعات با ماژول hmt-hmr

              شما بگو شده من می گم اشتباه می کنی !!!!!
              { خلاف قوانین ، پاک شد }

              دیدگاه


                #22
                پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                سلام دوست من ببخشید اینقدر سوال می کنم.
                من وقتی عدد 1 رو میفرستم عدد 65 روی lcd نشون میده و وقتی در گیرنده lcd پاک شد و دوباره میفرستم عدد 1 نشون داده میشه.وقتی عدد 2 رو میفرستم عدد66 رو نشون میده و همین طور به ترتیب وقتی عدد 7 رو میفرستم عدد 71 رو رویlcd نشون میده.
                به نظرتون باید چه تغییری در برنامم بدم؟؟
                ممنون میشم

                دیدگاه


                  #23
                  پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                  خب اگه اینقدر باحال می فرسته 64 تا ازش کم کن میشه جوابت !!!!!!!!!!!!!!!! oo:
                  { خلاف قوانین ، پاک شد }

                  دیدگاه


                    #24
                    پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                    آقا مصطفی چرا میگید نمیشه ؟؟؟ oo:
                    حالا که شده :biggrin:
                    علت خاصی داره که این را میگید ؟؟؟
                    اگه داره لطفا بگید ماهم یاد بگیریم . :smile: :read:
                    practice make perfect

                    دیدگاه


                      #25
                      پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                      :eek:
                      اقا یون محترم چه خبرتونه ؟
                      ببینید اگر روی ماژول شما max 232 باشه با ید شما هم تو مدارتون ماکس بزارین
                      اگه نباشه پرو تکل ttl هست و گذاشتن ma232 باعث سوختن ماژول میشه در مورد اون پایه
                      یه بار تست کنید
                      من یادم نیست
                      اون پایه باید ست بشه یا ریست
                      [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

                      دیدگاه


                        #26
                        پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                        فکر میکنم اینطور مواقع بهتره یک فریم استفاده کنی و زمانبندی رو هم دخیل کنی. راجع به فریم میتونی یک کاراکتر رو قبل از ارسال اطلاعات ارسال کنی. مثلا $. ضمنا بین ارسال دو بایت متوالی نباید بیش از مثلا 20 میلی ثانیه زمان بیفته وگرنه اون فریم باید حذف بشه. و صبر کنی تا $ بعدی. ضمنا بین ارسال هر دو فریم باید زمانی مثلا 50 میلی ثانیه صبر کنی. اینجوری میتونی مطمئن باشی که مکانیسم دریافت سیستم گیرنده ریست شده. ایضا در انتهای رشته ارسالی بایتی چیزی قرار بدی که بشه فهمید آیا دیتا یا فریم درست دریافت شده یا نه. قرار نیست اطلاعاتی که اشتباه دریافت شده پردازش بشه. یه چیزی مثل checksum.

                        دیدگاه


                          #27
                          پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                          سلام آقا رضا میشه بیشتر راهنمایی کنید؟
                          من باید چه تغییری در برنامم ایجاد کنم؟
                          ممنون میشم.
                          فرستنده:
                          $regfile = "m16def.dat"
                          $crystal = 11059200
                          $baud = 9600
                          Config Portb.0 = Input
                          Config Porta = Input
                          Portb.0 = 1
                          Dim B As Byte , D As Byte , A As String * 10
                          Do
                          Debounce Pinb.0 , 0 , Ersal , Sub
                          Loop
                          Ersal:
                          B = Pina
                          Gosub Send
                          Return
                          Send:
                          For D = 1 To 10
                          If B < 10 Then Print "mnt" ; "00" ; B
                          If B > 9 And B < 100 Then Print "mnt" ; "0" ; B
                          If B > 99 Then Print "mnt" ; B
                          Waitms 10
                          Next D
                          Return
                          End

                          گیرنده:
                          $regfile = "m16def.dat"
                          $crystal = 11059200
                          $baud = 9600
                          Config Porta = Output
                          Config Lcd = 16 * 2
                          Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , _
                          Db7 = Porta.5 , Rs = Porta.0 , E = Porta.1
                          Dim A As String * 10 , B As Byte , Ss As String * 10
                          Dim P As Byte , S As String * 10
                          Cls
                          Do
                          Input A
                          B = Len(a)
                          Ss = Left(a , 3)
                          If Ss = "mnt" And B = 6 Then
                          Ss = Mid(a , 4 , 3)
                          P = Val(s)
                          Locate 1 , 1
                          Lcd Ss ; " "
                          Wait 3
                          Cls
                          End If
                          Loop

                          دیدگاه


                            #28
                            پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                            البته این مورد رو من در رابطه با ارتباطات سریال استفاده میکنم که در هر مرحله ای ارتباط قطع بشه و بعد در هر مرحله ای هم وصل بشه مشکلی پیش نمیاد. ضمنا من بیسیک بلد نیستم ولی سعی میکنم منظورم رو برسونم:



                            Sub Send(ByVal n As Byte)
                            Dim ChkSum
                            Dim I As Byte
                            Dim A As String*10

                            A = Chr(2) + Len(Str(B)) + Str(B)
                            For i=2 to Len(A)
                            ChkSum = ChkSum + Asc(mid$(A,i,1))
                            Next i
                            A = A + Chr(ChkSum)
                            Print A
                            End Sub

                            Sub Recv
                            Dim A As String*10
                            Dim ChkSum As Byte
                            Dim I As Byte
                            Input A
                            If Len(A) < 3 Then Exit Sub
                            If Asc(Mid$(A,1,1))<>2 Then Exit Sub
                            ChkSum = 0
                            For I = 2 To Len(A)-1
                            ChkSum = ChkSum + Asc(Mid$(A,i,1))
                            Next I
                            If ChkSum <> Asc(Mid$(A,Len(A),1)) Then Exit Sub
                            A = Mid$(A, 2, Len(A) - 2)
                            Locate 1,1
                            Lcd " "
                            Locate 1,1
                            Lcd Val(A)
                            End Sub


                            البته این یک فرم کوچولو هست و در نسخه اصلی باید پای زمانبندی هم پیش کشیده بشه که متاسفانه نمیتونم تو بیسیک نشون بدم.

                            دیدگاه


                              #29
                              پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                              من وقتی عدد 1 رو میفرستم عدد 65 روی lcd نشون میده و وقتی در گیرنده lcd پاک شد و دوباره میفرستم عدد 1 نشون داده میشه.وقتی عدد 2 رو میفرستم عدد66 رو نشون میده و همین طور به ترتیب وقتی عدد 7 رو میفرستم عدد 71 رو رویlcd نشون میده.
                              به نظرتون باید چه تغییری در برنامم بدم؟؟
                              ممنون میشم

                              دیدگاه


                                #30
                                پاسخ : انتقال اطلاعات با ماژول hmt-hmr

                                کسی نمی تونه بهم کمک کنه؟؟

                                دیدگاه

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