اطلاعیه

Collapse
No announcement yet.

مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

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

    مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

    سلام
    همونطور که تو موضوع نوشتم بجای اعداد تو هایپر ترمینال حروف دریافت میکنم
    مثلا به جای اعداد 0 ، 1 ، 2 ، 3 و ... حروف p و q و r و s و ...
    نمیدونم 0 رو چطوری معادل p میکنه!!!
    مشکلم با %d و %c حل نشد
    تا حالا به این مشکل برنخوردم
    خواهشا راهنمایی کنید
    اصن وقت ندارم
    ممنونممممم

    اینم بخش مربوط به این مشکل: (داده ها عدد هستند)
    کد:
    char data;
    printf("%d",data);
    از سختی نترس! این سختی هاست که جایگاه و مقام انسان را بالا میبرد...

    #2
    پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

    کد ایرادی نداره (البته بهتر بود از unsigned char استفاده میکردی)
    کد:
    unsigned char data = 0;
    printf("%d",data);
    مشکل جای دیگه ای هست
    یک بار پارامترهای سریال را چک کن (baudrate - parity , ....)
    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

    دیدگاه


      #3
      پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

      نوشته اصلی توسط Abbas Sarami
      کد ایرادی نداره (البته بهتر بود از unsigned char استفاده میکردی)
      کد:
      unsigned char data = 0;
      printf("%d",data);
      مشکل جای دیگه ای هست
      یک بار پارامترهای سریال را چک کن (baudrate - parity , ....)
      ممنون از پاسخ
      همه چیو چک کردم مشکلی ندیدم تو پارامترها
      با دوتا میکرو امتحان کردم فقط تو این میکرو این مشکل هست!!! :angry:
      از سختی نترس! این سختی هاست که جایگاه و مقام انسان را بالا میبرد...

      دیدگاه


        #4
        پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

        هر چی بررسی میکنم دلیل منطقی ای نمیبینم براش
        مثه یجور کد گذاریه! به این صورت:
        0 : p
        1 : q
        2 : r
        3 : s
        4 : t
        5 : u
        6 : v
        7 : w
        8 : x
        9 : y

        یعنی مثلا بجای عدد 112 ، qqr رو نشون میده!!!

        تا حالا کسی همچین مشکلی نداشته؟؟؟

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

        دیدگاه


          #5
          پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

          ---
          اگر روزی بفهمی همه چیزایی که از بچگی تا حالا بهت گفتن بی اساس یا دروغه چه حالی میشی؟
          کارمندان نابکار، از دزدان و آشوبگران بیشتر به کشور آسیب ميآ‌رسانند

          دیدگاه


            #6
            پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای ع

            به بایت خروجی مقدار 0x40 اضافه شده :arrow:
            یعنی بیت هفتم دایماً 1 هست :mrgreen:
            به احتمال زیاد دیتا را 7 بیتی ارسال میکنی
            رجیستر هایUCSRA و UCSRB وUCSRC را چقدر دادی؟

            موفق باشید
            امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

            دیدگاه


              #7
              پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

              نوشته اصلی توسط داود رهایی
              معمولن این جور ایرادها مربوط به هم فرکانس (باد) نبودن دو تا دستگاه هست
              اگر باد ریت رو درست انتخاب کردی شاید کریستال رو یک چیز دیگه گذاشتی
              یا فیوز بیت ها درست نیست
              مرسی بابت توجه
              ولی همه چیو دوباره چک کردم
              باود ریت هر دو طرف یکیه
              فیوزبیت ها هم درسته
              کریستالم همینطور

              نوشته اصلی توسط Abbas Sarami
              به بایت خروجی مقدار 0x40 اضافه شده :arrow:
              یعنی بیت هفتم دایماً 1 هست :mrgreen:
              به احتمال زیاد دیتا را 7 بیتی ارسال میکنی
              رجیستر هایUCSRA و UCSRB وUCSRC را چقدر دادی؟

              موفق باشید
              والا نمیدونم
              فکر نمیکنم 7بیتی باشه
              تنظیمات به این شکله:
              کد:
              // USART initialization
              // Communication Parameters: 8 Data, 1 Stop, No Parity
              // USART Receiver: On
              // USART Transmitter: On
              // USART Mode: Asynchronous
              // USART Baud Rate: 9600
              UCSRA=0x00;
              UCSRB=0x18;
              UCSRC=0x86;
              UBRRH=0x00;
              UBRRL=0x33;
              طرف هایپر ترمینال هم به همین شکل تنظیم میکنم!
              دقیقا همین برنامه رو با میکرو مگا8 dip امتحان کردم مشکلی نیست
              فقط تو این میکرو که smd هست اینطوریه!!!
              :angry:
              از سختی نترس! این سختی هاست که جایگاه و مقام انسان را بالا میبرد...

              دیدگاه


                #8
                پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

                رجیستر ها که درسته :arrow:
                ممکنه نویز داشته باشی ، یا میکرو و یا مدار max232 :-?
                امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                دیدگاه


                  #9
                  پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای عدد)

                  ---
                  اگر روزی بفهمی همه چیزایی که از بچگی تا حالا بهت گفتن بی اساس یا دروغه چه حالی میشی؟
                  کارمندان نابکار، از دزدان و آشوبگران بیشتر به کشور آسیب ميآ‌رسانند

                  دیدگاه


                    #10
                    پاسخ : مشکل عجیب در ارتباط USART (نمایش حروف بجای ع

                    سلام
                    آقا مشکل از ولتاژ بود
                    دقیقه 90 که باید پروژه رو تحویل میدادم فهمیدم
                    اول با رگولاتور ولتاژ 3.3 ولت داده بودم به مدار بعد اینکه ولتاژ 3.7 دادم مشکل حل شد
                    البته تو دیتاشیت نوشته محدوده ولتاژ 2.7 تا 5.5 ! نمیدونم دلیلش چی بود که اینطوری میشد
                    به هر حال ممنون از Abbas Sarami و داود رهایی عزیز @};-
                    از سختی نترس! این سختی هاست که جایگاه و مقام انسان را بالا میبرد...

                    دیدگاه

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