اطلاعیه

Collapse
No announcement yet.

مشکل در ارسال و دریافت عدد در پورت سریال بین دو میکرو

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

    مشکل در ارسال و دریافت عدد در پورت سریال بین دو میکرو

    سلام
    من دارم یه پروزه ایفون میسازم
    با یه کیبرد که به میرو فرستنده وصله عدد کیبرد که نهایت سه رقمی هم هست یعنی از صفر تا 999 رو میخونم
    متغییر خوانده شده توسط کیبرد یک float هستش
    پس با دستور
    printf("%3.0f",a
    اینو ارسال میکنم
    تو کدویزن هم ترمینالی که میزارم عدد رو درست دریافت میکنم
    تو میکرو گیردن از اینتراپت یوزارت استفاده میکنم
    data=udr
    تو میکرو دوم هم این ورودی رو میتونم بگیرم و نمایش بدم
    مشکل اصلی وقتی هست که این ورودی رو بخوام با یه عدد مقایسه کنم
    نمیدونم خرجی udr چی هست
    رشته هستش ؟
    اگر رشته هستش چطری به یه عدد تبدیلش کنم که بتونم با یه عدد دیگه مقایسش کنم


    وقتی زندگی به سمت دشوار شدن تغییر مسیر میدهد
    شما به سمت قوی تر شدن تغییر مسیر دهید

    #2
    پاسخ : مشکل در ارسال و دریافت عدد در پورت سری&#1575

    نوشته اصلی توسط mehdi_24
    سلام
    من دارم یه پروزه ایفون میسازم
    با یه کیبرد که به میرو فرستنده وصله عدد کیبرد که نهایت سه رقمی هم هست یعنی از صفر تا 999 رو میخونم
    متغییر خوانده شده توسط کیبرد یک float هستش
    پس با دستور
    printf("%3.0f",a
    اینو ارسال میکنم
    تو کدویزن هم ترمینالی که میزارم عدد رو درست دریافت میکنم
    تو میکرو گیردن از اینتراپت یوزارت استفاده میکنم
    data=udr
    تو میکرو دوم هم این ورودی رو میتونم بگیرم و نمایش بدم
    مشکل اصلی وقتی هست که این ورودی رو بخوام با یه عدد مقایسه کنم
    نمیدونم خرجی udr چی هست
    رشته هستش ؟
    اگر رشته هستش چطری به یه عدد تبدیلش کنم که بتونم با یه عدد دیگه مقایسش کنم
    متاسفانه بنده درست متوجه منظورتون نشدم
    ولی برای سوال آخرتون تو کلیه محیط های برنامه نویسی بر مبنای سی از کتابخونه stdlib میشه استفاده کرد

    کد:
    String conversion
    atof
    Convert string to double (function )
    atoi
    Convert string to integer (function )
    atol
    Convert string to long integer (function )
    atoll 
    Convert string to long long integer (function )
    strtod
    Convert string to double (function )
    strtof 
    Convert string to float (function )
    strtol
    Convert string to long integer (function )
    strtold 
    Convert string to long double (function )
    strtoll 
    Convert string to long long integer (function )
    strtoul
    Convert string to unsigned long integer (function )
    strtoull 
    Convert string to unsigned long long integer (function )
    منبع و توضیحات : http://www.cplusplus.com/reference/cstdlib/
    زندگي آن چه که زيسته ايم نيست ، بلکه آن چيزي است که از گذشته به خاطر داريم ...گابريل گارسيا مارکز

    دیدگاه


      #3
      پاسخ : مشکل در ارسال و دریافت عدد در پورت سریال بین دو میکرو

      میخوام بدونم رجیستر udr اطلاعات درونش از چه نوعی هست
      int
      char
      unsigned char
      وقتی زندگی به سمت دشوار شدن تغییر مسیر میدهد
      شما به سمت قوی تر شدن تغییر مسیر دهید

      دیدگاه


        #4
        پاسخ : مشکل در ارسال و دریافت عدد در پورت سریال بین دو میکرو

        سلام دادش این دسته خودته دیتا که میاد یه وقفه بهت میده بعد تو اونو بریز تو یه آرایه مثلا
        unsigned char d[10]j
        ;[udr=d[i

        if(i==10

        i=1

        حالا شما میتونی جنس آرایه رو خودت انتخاب کنی char یا unsigned char یا int هرچی که نیازته بعد تو
        while (1) 1


        ( printf("code=%2.2f",i

        دیدگاه


          #5
          پاسخ : مشکل در ارسال و دریافت عدد در پورت سریال بین دو میکرو

          نوشته اصلی توسط mehdi_24
          میخوام بدونم رجیستر udr اطلاعات درونش از چه نوعی هست
          int
          char
          unsigned char
          به صورت char: 8 bits هست....(اگه اشتباه نکنم!)

          دیدگاه


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

            اطلاعات درون متوجه نمیشم منظورت چیه
            ولی یه رجیستر 8 بیت

            دیدگاه


              #7
              پاسخ : مشکل در ارسال و دریافت عدد در پورت سریال بین دو میکرو

              نوشته اصلی توسط quasar
              به صورت char: 8 bits هست....(اگه اشتباه نکنم!)
              اقا شما میگی یعنی اگر من بیام udr رو مساوی یه متغییر از نوع int بزارم مشکلی نداره
              وقتی زندگی به سمت دشوار شدن تغییر مسیر میدهد
              شما به سمت قوی تر شدن تغییر مسیر دهید

              دیدگاه


                #8
                پاسخ : مشکل در ارسال و دریافت عدد در پورت سریال بین دو میکرو

                نوشته اصلی توسط mehdi_24
                اقا شما میگی یعنی اگر من بیام udr رو مساوی یه متغییر از نوع int بزارم مشکلی نداره
                تو USART برای انتقال اطلاعات از کد اسکی استفاده میشه و حرف به حرف یا رقم به رقم(در کل کاراکتر به کاراکتر) برحسب کدهای اسکی ارسال و دریافت باید بشند.... حالا شما توی فرستده باید رشته بسازی تا بافر ارسال کاراکتر به کاراکتر بفرسته و توی گیرنده باید رشته رو بخونی و بعد به هرفرمی میخوای بشکونی و تبدیل کنی....

                دیدگاه

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