اطلاعیه

Collapse
No announcement yet.

تقسیم اعداد

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

    #31
    پاسخ : تقسیم اعداد

    دوستان ممنون از کمکاتون کسی مشکل منو نمیدونه کجاست؟ مال منه یا بیسکام؟
    { خلاف قوانین - پاک شد }

    دیدگاه


      #32
      پاسخ : تقسیم اعداد

      نوشته اصلی توسط r-el
      دوستان ممنون از کمکاتون کسی مشکل منو نمیدونه کجاست؟ مال منه یا بیسکام؟
      دوست خوبم ... مشکل از شماست !


      اگرچه بیسکام هم دردسرهایی داره برای خودش . اما توی این مورد ، شما مقصرید که Error دریافت میکنید .

      وقتی شما در برنامه از تابع "$lib "mcsbyte.lbx" استفاده کنید ،آ‌ مجاز به تعیین متغیری بیش از Byte نیستید . چون اصلاٌ کار این تابع ، کوچک کردن و بهینه سازی عملیات تبدیل متغیرهای بایتی در برنامه بمنظور کاهش بار محاسباتی روی CPU هست . به همین خاطر فقط متغیرهایی از جنس Byte رو قبول میکنه .

      اگر قصد استفاده از متغیری بالاتر از Byte دارید ، این تابع رو حذف کنید ...
      بر زنده باد گفتن این مردم خوش گریز

      دل بر مَنه که یک تنه در سنگرت کنند ...

      دیدگاه


        #33
        پاسخ : تقسیم اعداد

        ممنون از پاسختون اما من کم برنامه ننوشتما

        '-------------------------------------------------------------------------------
        $regfile = "m8def.dat"
        $crystal = 8000000

        $lib "mcsbyte.lbx" ' for smaller code
        $lib "ds1307clock.lib"

        Config Sda = Portb.7
        Config Scl = Portb.6

        Const Ds1307w = &HD0 ' Addresses of Ds1307 clock
        Const Ds1307r = &HD1

        Config Portd = Output

        Config Portb.0 = Output
        Config Portb.1 = Output
        Config Portb.2 = Output
        Config Portb.3 = Output
        Config Portb.4 = Output
        Config Portb.5 = Output

        Config Portc.0 = Output
        Config Portc.1 = Input
        Config Portc.2 = Input
        Config Portc.3 = Input
        Config Portc.4 = Output

        Config Clock = User

        Config Watchdog = 2048

        Config Adc = Single , Prescaler = Auto ', Reference = Internal_2.56

        Dim Weekday As Byte

        Dim S As Byte , A As Byte , B As Byte , Dreg As Byte , Da As Byte , Treg As Byte , Mh As Byte
        Dim Datereg As Eram Byte , Tempreg As Eram Byte , Timeh As Eram Byte , Timel As Eram Byte , Zangreg As Eram Byte
        Dim Ad As Word , W As Word , Jump As Word , R As Word , All As Eram Byte , Alarmreg As Eram Byte
        Dim B1 As Byte , B2 As Byte , Beepreg As Eram Byte , Bip As Byte , Ram As Eram Byte , Al As Bit
        Dim C As Byte , Alarmreset As Byte , Dong As Bit , Day As Byte , Hh As Byte , Hl As Byte
        Dim S1 As Eram Byte , S2 As Byte , Zang As Byte , D As Byte , Alm As Byte , L As Byte , Remotecode(35) As Word
        Dim Jump1 As Byte , H As Byte , Mdatereg As Eram Byte , Sefr As Byte , H1 As Word , Ml As Byte
        Dim Tanzimsaat As Eram Byte , Tanzimsaat1 As Eram Byte , T As Byte , T1 As Byte

        Dim Myear As Integer 'input Miladi(gregorian) Year
        Dim Mday As Integer 'input Miladi Day
        Dim Mmonth As Integer 'input Miladi Month
        Dim Mdayofyear As Integer
        Dim Myear_ As Integer

        Dim Jday As Integer 'output Jalali(shamsi) Day
        Dim Jmonth As Integer 'output Jalali Month
        Dim Jyear As Integer 'output Jalali Year
        Dim Jdayofyear As Integer

        Dim Gnumdayofyear As Integer
        Dim Isleapyear As Bit
        Dim Isleapyearp As Bit

        Dim Iloop As Byte
        Dim Temp1 As Integer
        Dim Temp2 As Integer
        Dim Temp3 As Integer
        Dim Temp4 As Integer

        Dim Jmonth_a(12) As Byte
        Dim Mmonth_a(12) As Byte
        این برنامه ساعتمه با این اوصاف تمام ساعتام حواسشون نیس نباید کار کنن و باید ارور بده برنامهword که هیچ integer هم دارم
        { خلاف قوانین - پاک شد }

        دیدگاه


          #34
          پاسخ : تقسیم اعداد

          نتیجه دوم اینکه ساعت با نمایش دما نمیشه ساخت چون هم 1307 داره و هم lm35 که بایدadc رو بخونی و توی متغیر ورد بریزی حتی تاریخ شمسیم نمیشه رو ش گذاشت اونم تو تبدیلاش بیشتر از بایت داره
          { خلاف قوانین - پاک شد }

          دیدگاه


            #35
            پاسخ : تقسیم اعداد

            دوست من :

            ابتدا خونسردی خودتونو حفظ کنید و اینقدر زود نتیجه گیری نکنید !!! الکترونیکی ها معمولا صبر و حوصله شون خیلی بیشتر از بقیه افراد هست :nerd:

            مطمئنم که شما از تجربه و مهارت کافی در برنامه نویسی برخوردارید ( لااقل خیلی بیشتر از بنده ) و توضیحاتی که عرض کردم خدای ناکرده با تصور آماتور بودن شما نبود ...


            ببینید ... کار این کتابخونه ، بهینه سازی عملیات تبدیلی هست . حالا یعنی چه و کدوم تبدیلات ؟


            در هر برنامه ای ، مطمئناً یکسری محاسبات برای تبدیل متغیرها به یکدیگر برای اهداف خاص انجام میشه . خواه مستقیماً توسط برنامه نویس و یا توسط توابع آماده

            مثلا تبدیل رشته ها به مقادیر عددی یا فرض کنید تبدیل خواندن از یک ورودی و تبدیل اونها به کاراکترهای متنی و از این قبیل تبدیلات ...

            در بیسکام بصورت پیش فرض ، برای همه این تبدیلات ، حداکثر فضا و محاسبات لازم از حافظه و CPU برای انجام امور محاسباتی در نظر گرفته میشه ... حتی اگر متغیرهای هدف ، از جنس Bit باشند .

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

            [glow=green,2,300][glow=green,2,300][glow=green,2,300]حالا ...[/glow][/glow][/glow]

            یکی از توابعی که بیشترین بار محاسبات تبدیلی رو بر CPUآ‌ وارد میکنه ، توابع نمایش روی LCD هست . دستور LCD در بیسکام و یا نظیر اون sprintf در کدویژن ...

            شما در نمونه برنامه صفحه اول تاپیک از دستور LCD برای متغیر A استفاده کردید . اما در عین حال از کامپایلر خواستید که از کتابخونه بهینه سازی کدها برای این کار استفاده کنه و این ناممکن هست ...

            [glow=red,2,300]در همون برنامه اگر از تابع LCD صرفنظر کنید میبینید که Error هم نخواهید گرفت .[/glow]

            پس با این حساب :

            یا نباید از کتابخونه mcsbyte.lbx استفاده کنید

            یا متغیرتونو از نوع Byte انتخاب کنید

            **********************************
            نمیدونم چقدر تونستم منظورمو برسونم ...

            موفق باشید
            بر زنده باد گفتن این مردم خوش گریز

            دل بر مَنه که یک تنه در سنگرت کنند ...

            دیدگاه


              #36
              پاسخ : تقسیم اعداد

              ممنون از توضیحتون من یه مدار دارم که در حالت عادی ساعت و تاریخ رو داره و بعدشم باید یک متغبر ورد رو روی ال سی دی نمایش بده فرض کنید دما فرض کنبد عدد23564حالا این کار غیر ممکنیه؟من باید چکار کنم :cry2:
              { خلاف قوانین - پاک شد }

              دیدگاه


                #37
                پاسخ : تقسیم اعداد

                من نمیدونم چطوری بگم اما میدونم کار غیر ممکنی برای avr نباید باشه ساعت تاریخ دما ساعت و تاریخ کتابخونه 1307میخواد +دما=متغیر word و نمایش روی ال سی دی
                { خلاف قوانین - پاک شد }

                دیدگاه


                  #38
                  پاسخ : تقسیم اعداد

                  نوشته اصلی توسط r-el
                  ممنون از توضیحتون من یه مدار دارم که در حالت عادی ساعت و تاریخ رو داره و بعدشم باید یک متغبر ورد رو روی ال سی دی نمایش بده فرض کنید دما فرض کنبد عدد23564حالا این کار غیر ممکنیه؟من باید چکار کنم :cry2:
                  نوشته اصلی توسط r-el
                  من نمیدونم چطوری بگم اما میدونم کار غیر ممکنی برای avr نباید باشه ساعت تاریخ دما ساعت و تاریخ کتابخونه 1307میخواد +دما=متغیر word و نمایش روی ال سی دی
                  خوب این که خیلی ساده ست ... شما فقط بیخیال کتابخونه mscbyte.lbx بشو تا همه چیز بصورت عادی پیش بره ... همین
                  بر زنده باد گفتن این مردم خوش گریز

                  دل بر مَنه که یک تنه در سنگرت کنند ...

                  دیدگاه


                    #39
                    پاسخ : تقسیم اعداد

                    بله خیلی سادس ولی میخوام بدونم در هیییییچ پروژه ای همچین چیزی استفاده نشده ؟یعنی تا بع امروز کسی نتونسته ساعت و تاریخ و دما رو باهم نمایش بده؟یا ساعتو داشته باشه و یه عدد4 رقمی رو بتونه نمایش یده؟هنور تکنولوژی و علم تاان حد پیشرفت نکرده؟من الان میخوام حالت عادی ساعتو نمایش بدم و وقتی یه پالس اومد یه عدد4رقمیو نمایش بدم دو ال سی دی این یه کار غیرممکنه؟
                    { خلاف قوانین - پاک شد }

                    دیدگاه


                      #40
                      پاسخ : تقسیم اعداد

                      نوشته اصلی توسط r-el
                      بله خیلی سادس ولی میخوام بدونم در هیییییچ پروژه ای همچین چیزی استفاده نشده ؟یعنی تا بع امروز کسی نتونسته ساعت و تاریخ و دما رو باهم نمایش بده؟یا ساعتو داشته باشه و یه عدد4 رقمی رو بتونه نمایش یده؟هنور تکنولوژی و علم تاان حد پیشرفت نکرده؟من الان میخوام حالت عادی ساعتو نمایش بدم و وقتی یه پالس اومد یه عدد4رقمیو نمایش بدم دو ال سی دی این یه کار غیرممکنه؟
                      چرا نشه ؟ oo: واسه چی غیر ممکن !؟ oo: من متوجه منظورت نمیشم ! :eek:

                      عرض کردم که دوست عزیز ... شما فقط از کتابخونه mcsbyte صرفنظر کن ... به همین سادگی . اینجوری دیگه خطایی دریافت نمیکنی و هرچی که خواستی روی LCD نمایش میدی ...

                      اینا که ارتباطی به علم و تکنولوژی و این قضایا نداره !!! oo: oo: oo:
                      بر زنده باد گفتن این مردم خوش گریز

                      دل بر مَنه که یک تنه در سنگرت کنند ...

                      دیدگاه


                        #41
                        پاسخ : تقسیم اعداد

                        خب مگه مال 1307 نیس؟میشه این کتابخونه رو حذفش کنم و بازم از1307استفاده کنم؟عایا :cry2:
                        { خلاف قوانین - پاک شد }

                        دیدگاه

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