اطلاعیه

Collapse
No announcement yet.

دریافت 16 بیت و یا بیشتر در پورت سریال

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

    #16
    پاسخ : دریافت 16 بیت و یا بیشتر در پورت سریال

    برای ارسال یه بایت میتونید از رجیستر Udr استفاده کنید اگر توش بنویسید می فرسته اگه چیزی برسه هم میتونید از همین رجیستر بخونید
    البته دوتا رجیستر هستش یکی برای دریافت یکی برای ارسال ولی اسمشون یکیه ربطی هم بیسکام نداره شما تو هر زبونی میتونید ازش استفاده کنید
    بطور مثال
    برای فرستادن
    Udr = Txtbl

    یا

    برای خواندن
    Rxed = Udr
    ما زنده به آنیم که آرام نگیریم موجیم که آسودگی ما عدم ماست

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

    r.babazadeh@yahoo.com

    دیدگاه


      #17
      پاسخ : دریافت 16 بیت و یا بیشتر در پورت سریال

      برای چک کردن زمان مناسب برای ارسال و دریافت هم میتونید از کدهای زیر استفاده کنید

      If Usr.7 = 1 Then Call Rx_p
      ' Rx Buffer is Full

      If Usr.5 = 1 Then Call Tx_p
      ما زنده به آنیم که آرام نگیریم موجیم که آسودگی ما عدم ماست

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

      r.babazadeh@yahoo.com

      دیدگاه


        #18
        پاسخ : دریافت 16 بیت و یا بیشتر در پورت سریال

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

        دیدگاه


          #19
          پاسخ : دریافت 16 بیت و یا بیشتر در پورت سریال

          نوشته اصلی توسط امیر حسنی کاخکی
          لطفا یکی به من بگه چطور میتونم یک بایت رو روی پورت سریال بفرستم؟؟؟!!!! :mrgreen:
          اگر از دستور print استفاده کنم مقدار متغیرم به صورت STRING در میاد و اون طرف(با دستور input) فقط میتونم string رو بگیرم!!!!! :sad:
          و از طرفی وقتی میخوام STRING رو با دستور VAL() به BYTE تبدیل کنم همش صفر برمیگردونه!!!!!
          سلام دوست عزیز
          بجاش از دستورات printbin , inputbin استفاده کن
          موفق باشی
          زندگي را تو بساز ،
          نه بدان ساز که سازند و پذيري بي حرف ،
          زندگي يعني جنگ ، تو بجنگ ،
          زندگي يعني عشق ، تو بدان عشق بورز.

          دیدگاه


            #20
            پاسخ : دریافت 16 بیت و یا بیشتر در پورت سریال

            نوشته اصلی توسط جعفر رضائی
            برنامه من جوریه که در میکرو فرستنده دو بایت اطلاعات درست میشه .یک بایت مربوط به ادرس متغیر و یک بایت مربوط به مقدار همون متغیر .بعد این دو بایت رو به هم میچسبونم .بعد اون رو به یک رشته تبدیل میکنم و میفرستم .در میکروی گیرنده همون کد رو بازهم به صورت رشته دریافت میکنم و به متغیر دو بایتی تبدیل میکنم .این متغیر دو بایتی رو سیمولاتور بیسکام نشون میده .ولی سیمولاتور پروتیوس نشون نمیده و همونطور که دوستمون گفتن بجاش عدد صفر رو نشون میده .در ضمن من بعد از دریافت کد تو جدا کردن این دو تا بایت از هم مشکل دارم
            شما چه لزومی داره که به رشته تبدیل کنی؟؟؟ شما داده و آدرس دارید پس رشته این وسط نقشش چیه؟ :eek:
            ببینید پورت سریال یک سری داده رو به صورت بسته باینری میفرسته حالا اینکه این داده رشته هست یا عدد به کار برد و پروتکل شما بستگی داره. بهترین راه اینه شما تابع ارسال و دریافت رو خودتون بنویسید. در قسمت گیرنده 8 بیت دریافت میکنید که میتونه یه عدد باشه و یا شماره یه کاراکتر در جدول ASCI.

            برای ترکیب دو بایت و ساختن یک عدد 16 بیتی هم از همون الگوریتمی که تو پست قبل نوضیح دادم استفاده کنید.
            موفق باشید
            Work with what you have .Never limit yourself by things you could have had

            دیدگاه


              #21
              پاسخ : دریافت 16 بیت و یا بیشتر در پورت سریال

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

              دیدگاه


                #22
                پاسخ : دریافت 16 بیت و یا بیشتر در پورت سریال

                میشه لطفا در مورد تنظیم baud نسبت به مقدار کریستال خارجی توضیح بدید
                روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

                دیدگاه

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