اطلاعیه

Collapse
No announcement yet.

ارتباط usart (خواهش می کنم کمک کنید )

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

    ارتباط usart (خواهش می کنم کمک کنید )

    دورد بر دوستان
    من یه مودم رو از طریق max232 به یک میکرو وصل کردم
    این مودم روی 9600 توی هایپر جواب میدم بود میکرو رو هم 9600 تعریف کردم یه ال سی دی هم روی مدار گذاشتم همه چه ردیفه
    این خط ها چرا جواب نمیده راستی وقتی که توی هاپر دستور at رو میفرستم مودم عبارت ok رو میفرسته و لی چرا این کار نمی کنه نمی دونم

    کد:
    do 
    print "at"
    wait 1
    input "",strout
    lcd strout
    wait 5
    loop
    معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

    #2
    پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

    سلام,
    به نظر من با وقفه کار کن جواب میگیری. چون ممکنه دستور AT رو که میفرستی همون لحظه جواب بده ولی شما 1 ثانیه بعد میای چک میکنی. نمیدونم شایدم غلط باشه؟؟؟ :rolleyes:

    دیدگاه


      #3
      پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

      سلام دوست عزیز
      اگر از نحوه اتصال سخت افزارت مطمعن هستی
      این دستور ها رو امتحان کن:

      dim strout as strin * 10
      do
      wait 1
      printbin "O" ; "K" ; chr (13) ; chr(10) ' ok
      wait 2
      input stroutl Noecho

      cls
      lcd stroutl
      wait 5

      loop

      موفق باشی

      دیدگاه


        #4
        پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

        مهندس bascom روی printpin ایراد میگیره ممکنه شما چکش کنید ؟؟؟
        معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

        دیدگاه


          #5
          پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

          کد:
          [quote=john lock]
          دورد بر دوستان
          من یه مودم رو از طریق max232 به یک میکرو وصل کردم 
          این مودم روی 9600 توی هایپر جواب میدم بود میکرو رو هم 9600 تعریف....
          
          [/quote]
          نوشته اصلی توسط john lock
          سلام دوست عزیز
          میشه بگی چه نوع مودمی را به میکرو وصل کردی؟
          در دایره قسمت ما نقطه تسلیمیم لطف آنچه تو اندیشی حکم انچه تو بنمایی

          دیدگاه


            #6
            پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

            نه مشکلی نداره من تست کردم
            Bascom خودشو با دستور Print خیلی محدود کرده
            اگر از مودم GSM استفاده میکنی باید دستور Printbin chr(13) رو با یه تاخیر برای مودم بفرستی

            دیدگاه


              #7
              پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

              استاد از اول هم دستور درست بود متایفانه من جای سیم های Rx , tx رو اشتباه زده بودم و نمی دونم چرا توی هایپر ترمینال درست جواب میداد و همین منو به اشتباه انداخته بود ؟؟؟
              معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

              دیدگاه


                #8
                پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

                درود بر شما
                من دوتا میکرو رو با این روش (Uart) به هم وصل کردم به میکروی فرستنده این دستور رو دادم(البته این رو در یه حلقه نوشتم):



                A1 = 255
                b = 50
                c = 10
                d= 0

                Printbin A1
                Waitms 1
                Printbin b
                Waitms 1
                Printbin c
                Waitms 1
                Printbin d


                و در میکروی گیرنده این دستور رو نوشتم:

                Inputbin Aa1
                Waitus 20
                Inputbin bb
                Waitus 20
                Inputbin cc
                Waitus 20
                Inputbin dd
                Waitus 20

                بعد 2تا پورت میکروی گیرنده رو به led وصل کردم و در ادامه برنامه آوردم که مثلا پورت a برابر aa1 بشه و پورت c برابر bb بشه
                اما دستورات درست کار نمی کنه

                و در کل میخوام 4تا بایت اطلاعات رو بین 2 تا میکرو جا به جا کنم (فرض میکروی فرستنده 4بایت a,b,c,d رو بفرسته و میکروی گیرنده 4بایت رو به ترتیب در aa,bb,cc,dd ذخیره کنه)

                هر دو میکرو کریستال بیرونی 8M دارند و بودریتشون 19200 است

                دیدگاه


                  #9
                  پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

                  کریستال 8 داخلی (حتما فیوز بیت رو چک کنید ) و باد حتما روی 9600 چیز دیگه جواب نمیده و rx میکرو اول به tx میکرو دوم tx میکرو اول به Rx میکرو دم وصل همین و فقط همین چیز دیگه ای نداره به این مقدار ها هم دست نزن توی این چیزی که گقتب باد ریت شما اشتباه باید 9600 بزاری
                  معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

                  دیدگاه


                    #10
                    پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

                    یعنی دستوراتم برای فرستادن و گرفتن 4 بایت درسته؟

                    دیدگاه


                      #11
                      پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

                      سلام دوست عزیز
                      با تشکر از راهمایی های آقای john lock
                      این رو هم من اضافه کنم این رو همیشه در نظر داشته باشید که دستور Inputbin منتظر رسیدن اطلاعات از پورت سریال نمیمونه
                      اگر میخواهید برنامه تا رسیدن هر بایت منتظر بمونه و اطلاعات رو به ترتیب بگیره باید از دستور INKEY()استفاده کنید

                      موفق باشی

                      دیدگاه


                        #12
                        پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

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

                        دیدگاه


                          #13
                          پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

                          وقتی بودریت رو 9600 کردم قاطی کرد، و led ها شروع کردن به چشمک زدن
                          بعد دوباره بودریت رو 19200 گذاشتم و خواستم در برنامه ی slave یه تغییر بدم و waitkey() رو اضافه کنم که برنامه شد:
                          a=Waitkey()
                          Inputbin Add1
                          Waitus 20
                          a=Waitkey()
                          Inputbin Rled
                          Waitus 20
                          a=Waitkey()
                          Inputbin Bled
                          Waitus 20
                          a=Waitkey()
                          Inputbin Gled
                          Waitus 20

                          بازم درست کار نکرد، چطوری باید از اینتراپت استفاده کنم

                          دیدگاه


                            #14
                            پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

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

                            دیدگاه


                              #15
                              پاسخ : ارتباط usart (خواهش می کنم کمک کنید )

                              روی حالت 9600 سخت افزار درست کار کرده :applause: :applause: :applause:

                              برنامه شما ایراد منطقی داره دقیقا بگو می خوای چی کار کنی که برات برنامه رو بنویسم مهندس چرا waitkey کردی توی این مورد از این دستور نباید استفاده کنی ؟؟؟؟ دقیقا بگو می خوای چی کار کنی ؟؟؟؟؟؟؟؟
                              معجزه پس از معجزه می آید و شگفتی ها از تجلی باز نمی مانند.

                              دیدگاه

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