اطلاعیه

Collapse
No announcement yet.

سوال ساده در مورد برنامه نویسی Keil

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

    سوال ساده در مورد برنامه نویسی Keil

    سلام ،
    من یک سری عدد دارم که ابتدای برنامه با دستور Define نامگذاریشون کردم:
    کد:
    #define t1      0x0212 
    #define t2      0x0814
    #define t3      0x0444
    #define t4      0x0113
    حالا یک تابع بصورت زیر مینویسم:
    کد:
    int down(int Del){
    	long int i;
    	for (i=0;i<Del*100000;i++);
    }
    حالا توی برنامه اصلیم میخوام از تابع استفاده کنم و چونکه تابع من عدد دریافت میکته ، میخواهم اعدادی که با Define در ابتدا تعریف کردم را بهش بدم:

    کد:
    down(t1);
    خوب
    سوال:
    چرا از اینکه بجای عدد، از پارامتری که برای عدد تعریف کردم یعنی t1 ایراد میگیره؟ :angry:
    Reveng will surely come... Your hard time are ahead
    // - - - - - - - - - -
    برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
    // - - - - - - - - - -
    اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
    // - - - - - - - - - -

    #2
    پاسخ : سوال ساده در مورد برنامه نویسی Keil

    به نظرم چون پارامتر نوع داره و int هست اما define چی؟شاید یه تایپ کست درستش کنه :question:
    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.

    دیدگاه


      #3
      پاسخ : سوال ساده در مورد برنامه نویسی Keil

      نوشته اصلی توسط hessam2013
      به نظرم چون پارامتر نوع داره و int هست اما define چی؟شاید یه تایپ کست درستش کنه :question:
      نه عزیز ، قبلا احتمالات مختلف را تست کردم و بعد سوال پرسیدم، هیچ ربطی با نوع متغیر نداره
      Reveng will surely come... Your hard time are ahead
      // - - - - - - - - - -
      برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
      // - - - - - - - - - -
      اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
      // - - - - - - - - - -

      دیدگاه


        #4
        پاسخ : سوال ساده در مورد برنامه نویسی Keil

        سلام

        وقتی شما یک متغییر رو به صورت define# تعریف میکنی داری به کامپایلر میگی هر جا من نوشتم t1 تو بزار 0x0212 به نظر خودت الان t1 هیچ گونه type داره؟؟ معلومه که نه! این رو امتحان کن ببین کار میکنه یا نه:
        کد:
        #define t1      (int) 0x0212

        دیدگاه


          #5
          پاسخ : سوال ساده در مورد برنامه نویسی Keil

          این کار درسته و نباید اشکال بگیره

          متن ارورت رو میزاشتی خیلی بیشتر کمک میکرد

          دیدگاه


            #6
            پاسخ : سوال ساده در مورد برنامه نویسی Keil

            نوشته اصلی توسط gbg
            این کار درسته و نباید اشکال بگیره

            متن ارورت رو میزاشتی خیلی بیشتر کمک میکرد
            Reveng will surely come... Your hard time are ahead
            // - - - - - - - - - -
            برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
            // - - - - - - - - - -
            اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
            // - - - - - - - - - -

            دیدگاه


              #7
              پاسخ : سوال ساده در مورد برنامه نویسی Keil

              نوشته اصلی توسط mohammadh1387
              سلام

              وقتی شما یک متغییر رو به صورت define# تعریف میکنی داری به کامپایلر میگی هر جا من نوشتم t1 تو بزار 0x0212 به نظر خودت الان t1 هیچ گونه type داره؟؟ معلومه که نه! این رو امتحان کن ببین کار میکنه یا نه:
              کد:
              #define t1      (int) 0x0212
              ظاهرا شما متوجه سوال نشدید ، من میخوام بجای پارامتر ، فقط یک عدد جایگزین بشه و نیاز به متغیر ندارم ، حالا هرجا نوشتم t1 باید عدد را بجاش قرار بده ، اما کامپایلر ارور میده
              Reveng will surely come... Your hard time are ahead
              // - - - - - - - - - -
              برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
              // - - - - - - - - - -
              اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
              // - - - - - - - - - -

              دیدگاه


                #8
                پاسخ : سوال ساده در مورد برنامه نویسی Keil

                مهندس یه متغییر تعریف کن دیفاین را بریز توش بعد متغییر قرار بده در تابع بره پی کارش
                فيلم آموزشي ميکروکنترلر LPC1768
                فيلم آموزشي تکميلي و پيشرفته ميکروکنترلر LPC1768
                فيلم آموزش کاربردی زبان سی در میکروکنترلر ARM
                فیلم آموزش مقدماتی میکروکنترلر LPC1788 به زودی ...

                دیدگاه


                  #9
                  پاسخ : سوال ساده در مورد برنامه نویسی Keil

                  مشکلش چیز دیکه هستش دوست عزیز

                  کدت رو قرار بده نگاه کنم (23 ساله با سی کد میزنم، اگه با هم ازدواج کرده بودیم باید برا بچمون زن میگرفتیم)

                  بعد بالاخره متغییرت t1 هست یا mr


                  دیدگاه


                    #10
                    پاسخ : سوال ساده در مورد برنامه نویسی Keil

                    نوشته اصلی توسط mzarkoob
                    مهندس یه متغییر تعریف کن دیفاین را بریز توش بعد متغییر قرار بده در تابع بره پی کارش
                    Like
                    راست میگی مهندس :job:، مشکل من اینه که گیر میدم به یه روش :read:



                    نوشته اصلی توسط gbg
                    مشکلش چیز دیکه هستش دوست عزیز

                    کدت رو قرار بده نگاه کنم (23 ساله با سی کد میزنم، اگه با هم ازدواج کرده بودیم باید برا بچمون زن میگرفتیم)

                    بعد بالاخره متغییرت t1 هست یا mr
                    براتون ایمیل کردم :rolleyes:
                    Reveng will surely come... Your hard time are ahead
                    // - - - - - - - - - -
                    برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
                    // - - - - - - - - - -
                    اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
                    // - - - - - - - - - -

                    دیدگاه


                      #11
                      پاسخ : سوال ساده در مورد برنامه نویسی Keil

                      نوشته اصلی توسط mzarkoob
                      مهندس یه متغییر تعریف کن دیفاین را بریز توش بعد متغییر قرار بده در تابع بره پی کارش
                      آخه حدود 90 تا عدد دارم که باید تعریف کنم ، میخوام حافظه را اشغال نکنه :redface:
                      Reveng will surely come... Your hard time are ahead
                      // - - - - - - - - - -
                      برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
                      // - - - - - - - - - -
                      اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
                      // - - - - - - - - - -

                      دیدگاه


                        #12
                        پاسخ : سوال ساده در مورد برنامه نویسی Keil

                        حله

                        کد:
                        #define mr  0x2;
                        رو اینجوری بنویس

                        کد:
                        #define mr  0x2
                        یعنی ; اضافه هستش

                        دیدگاه


                          #13
                          پاسخ : سوال ساده در مورد برنامه نویسی Keil

                          نوشته اصلی توسط سعید خیری
                          سلام ،
                          من یک سری عدد دارم که ابتدای برنامه با دستور Define نامگذاریشون کردم:
                          کد:
                          #define t1      0x0212 
                          #define t2      0x0814
                          #define t3      0x0444
                          #define t4      0x0113
                          حالا یک تابع بصورت زیر مینویسم:
                          کد:
                          int down(int Del){
                          	long int i;
                          	for (i=0;i<Del*100000;i++);
                          }
                          حالا توی برنامه اصلیم میخوام از تابع استفاده کنم و چونکه تابع من عدد دریافت میکته ، میخواهم اعدادی که با Define در ابتدا تعریف کردم را بهش بدم:

                          کد:
                          down(t1);
                          خوب
                          سوال:
                          چرا از اینکه بجای عدد، از پارامتری که برای عدد تعریف کردم یعنی t1 ایراد میگیره؟ :angry:

                          نه کجا ایراد میگیره ؟ یک لحظه شک کردم و امتحان کردم - حتی اخطار هم نداد.
                          تنها موردي كه همه آدما يقين دارن خدا در حقش زیاد لطف کرده
                          داشتن عقله زيادتر از دیگر آدم ها است

                          دیدگاه


                            #14
                            پاسخ : سوال ساده در مورد برنامه نویسی Keil

                            نوشته اصلی توسط gbg
                            حله

                            کد:
                            #define mr  0x2;
                            رو اینجوری بنویس

                            کد:
                            #define mr  0x2
                            یعنی ; اضافه هستش
                            :applause:

                            :wow:
                            واقعا چه مشکل مسخره ای داشتم! :nice: شرم باد!
                            Reveng will surely come... Your hard time are ahead
                            // - - - - - - - - - -
                            برگه های کتاب به منزله بالهایی هستند که روح ما را به عالم نور و روشنایی پرواز میآ*دهند. فرانسوا ولتر
                            // - - - - - - - - - -
                            اگر برای هرچیزی به غیر از علاقه ی شدیدتان به الکترونیک تلاش کنید ، خیلی دور نخواهید رفت / خیلی هم خوب نخواهید شد.
                            // - - - - - - - - - -

                            دیدگاه

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