اطلاعیه

Collapse
No announcement yet.

مشکل با usart میکرو

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

    مشکل با usart میکرو

    سلام دوستان یه چند وقتیه ک هر کار میکنم نمیتونم یه ارتباط سریال دقیق و بدون خطا داشته باشم.
    نمیدونم مشکل از کجاست نویزه یا من تنظیمات ارتباط سریالم درست نیست .
    کریستال خارجی 11.0592 گذاشتم . baudrate میکرو 115200
    هست کد های قسمت usart هم اینجوریه
    UCSRA=0x00;
    UCSRB=0x10;
    UCSRC=0x86;
    UBRRH=0x00;
    UBRRL=0x05;
    آیا باید کار دگ ای هم بکنم ؟یا اینکه نویزه ک اگه نویزه چطوری جلوی نویزو بگیرم ؟ یه جون مرد بیاد به دادم برسه!!! :angry:

    #2
    پاسخ : مشکل با usart میکرو

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

    شما بفرمائید از چه میکرو ای استفاده کردی ؟ از چه مبدل ttl ای استفاده کردی ؟ طول مسیر rs232 شما چقدر هست ؟ ارتباط با چی داری میگیری ؟
    usart رو اصلا چه طوری داری ؟ می خونی ؟ یا چه طوری داری می بینی ؟ تو چی می بینی ؟ چی می فرستی چی میگیری ؟

    و هزاران سوال دیگر ... :mrgreen:
    - به دنبال فرصت عمری تباه کردم ! فرصت جوانی ام بود من اشتباه کردم .

    دیدگاه


      #3
      پاسخ : مشکل با usart میکرو

      سلام و مرسی بابات جوابتون
      کلا اولین باریه ک دارم با usart میکرو کار میکنم همینطور زبان C یه جورایی تازه پا ب دنیای شما حرفه ای ها گذاشتم :biggrin: پس اگه توضیحاتی ک میدم پر عیب و ایراده زیاد خورده نگیر ازم
      نوشته اصلی توسط مرد نامرئی

      از رجیستر هاتون پیداست که ارسال دیتا غیر فعال هست درست ؟
      اره غیر فعاله ارسال دیتا رو هم فعال کردم و رشته ای ک فرستادمو به خوبی دریافت کردم :smile
      نوشته اصلی توسط مرد نامرئی
      شما بفرمائید از چه میکرو ای استفاده کردی ؟
      ATmega32

      نوشته اصلی توسط مرد نامرئی
      از چه مبدل ttl ای استفاده کردی ؟
      بااین کابل های مبدل USB به RS232 خود اکا دارم کار میکنم

      نوشته اصلی توسط مرد نامرئی
      طول مسیر rs232 شما چقدر هست ؟ ارتباط با چی داری میگیری ؟
      usart رو اصلا چه طوری داری ؟ می خونی ؟ یا چه طوری داری می بینی ؟ تو چی می بینی ؟ چی می فرستی چی میگیری ؟
      و هزاران سوال دیگر ... :mrgreen:
      طول مسیر ک 15سانتیمتر هم نمیشه بعلاوه اینکه با HC-05 هم نتونستم دیتای درستی دریافت کنم (مثلا کد اسکی عدد 1 رو ک میفرستم چیزی ک دریافت میکنم همه چی هست الا اون 0x31 :sad: البته با ترمینال codevision بدون مشکل با HC-05 ارتباط برقرار کردم ولی بامیکرو :sad:
      ارتباط با چی میگیری رو نفهمیدم منظورت چیه . usart هم ب صورت گیرنده هست ! این با چی میبینی هم نمیدونم منظورت چیه ولی از terminal خود کد ویژن استفاده میکنم چیزایی هم ک میفرستم کد اسکی یسری حرف و اعداد ک متاسفانه چیز درست حسابی دریافت نمیکنم نه این ک چیزی نگیرم ولی اون چیزی ک فرستادم نیست :sad:
      اها و این ک از این تابع getchar() تو برنامه استفاده میکنم
      و اگه توضیحاتم درست و کامل نیست ببخشید چون تا حالا با Usart و زبان c کار نکردم و اولین باره :cry2:

      دیدگاه


        #4
        پاسخ : مشکل با usart میکرو

        از اون دوسوال که متوجه نشدی منظورم این بود ارتباط بین کامپیوتر و میکرو هست یا بین دو تا میکرو .
        خوب از نوشته هاتون من این طوری متوجه شدم که ارتباط شما بین یه میکرو و کامپیوتر هست و از کابل usb به سریال استفاده کردی ولی یه چیزی رو نفهمیدم و اون اینکه rx و tx میکرو رو مستقیم دادی به این مبدل یا اینکه سر راهش یه مبدل ttl هست ؟ مثلا max232 ؟

        در ضمن من خودم هم زمانی که این ارتباط رو شروع کردم حدودا 1 سال پیش بود . ( هنوز حرفه ای نیستم ) مشکلی که در ابتدا داشتم شبیه به مشکل شما بود یعنی اطلاعات می رفت می یومد ولی اون چیزی که من می خواستم نبود . می دونی اشکال چی بود ؟

        اشکال این بود که من درست نمی دیدمشون :mrgreen: یعنی توی lcd چیز دیگه ای رو بهم نشون می داد مثلا باید عدد رو میدیدم کاراکترش رو میدیدم . البته خوب یادم نیست یه همچین چیزایی بود . (حواست رو بیشتر جمع کن ) در این مورد می تونی به تاپیک خودم در ایتدای کارم مراجعه کنی .

        http://www.eca.ir/forum2/index.php?topic=77467.0
        - به دنبال فرصت عمری تباه کردم ! فرصت جوانی ام بود من اشتباه کردم .

        دیدگاه


          #5
          پاسخ : مشکل با usart میکرو

          اره درسته ارتباط بین کامپیوتر و میکرو هست
          RX , TX رو مستقیم وصل کردم و هیچ مبدل TTL استفاده نکردم گمون نکنم ک دیگه به مبدلی نیاز باشه درست میگم ؟؟
          و اینکه مرسی بابت لینک تاپیکی ک فرستادی یسری چیزارو برام روشن کرد
          یه سوال من کد اسکی یه عدد رو میفرستم مثلا 0x31 خب
          بد داخل میکرو اینجوری دریافت میکنم
          R=getchar ();///R as char
          حالا مقدار این R باید 0x31 باشه یا... ؟؟

          دیدگاه


            #6
            پاسخ : مشکل با usart میکرو

            اینم لینک مبدلی ک استفاده میکنم .

            http://eshop.eca.ir/%D9%85%D8%A7%DA%...to-rs232-.html

            دیدگاه


              #7
              پاسخ : مشکل با usart میکرو

              سلام
              ببین دوست عزیز با توجه به مبدلی که استفاده کردی اگر دقیقا همین مدل هست ؟ خیر شما دیگه نیازی به مبدل TTL نداری .

              اما در مورد اینکه چی میگری اگر مثل همون مشکل منو داشته باشی احتمالا باید معادل دسیمال اون ox31 یعنی عدد 49 رو دریافت کنی . شما اون char دریافتی رو منهای 48 کن بعد ببین نتیجه چیه ؟ اگر عدد 1 بود پس اطلاعات داره درست می یاد . حالا سر اون یک هر بلایی خواستی بیار . یه نگاه به آخرین پست لینکی که دادم بکن . این بار با دقت بیشتری بهش نگاه کن .

              راستی در مورد تنظیماتی باودریت و پریتی و غیره . اونا رو توی کامپیوتر هم مثل میکرو ست کردی دیگه ؟ و یه پیشنهاد دارم اول با یه باودریت پائین تست کن وقتی نتیجه گرفتی اونو زیاد کن . موفق باشی .
              - به دنبال فرصت عمری تباه کردم ! فرصت جوانی ام بود من اشتباه کردم .

              دیدگاه


                #8
                پاسخ : مشکل با usart میکرو

                این چند روز گرفتار یه سفر شدم الانم ک امتحانا نمیتونم درست به به مدارم برسم :angry:
                مشکل منم مث مال شما بود :nice:
                و اینکه دم شما خیلی گرم مرسی بابت راهنمایی


                دیدگاه

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