اطلاعیه

Collapse
No announcement yet.

تعریف ماکرو

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

    تعریف ماکرو


    سلام
    میخوام یه ماکرو تعریف کنم که با مساوی 1 قرار دادن یه عبارت یک تابع فراخوانی بشه و با مساوی صفر قرار دادن همان عبارت تابع دیگری فراخوانی بشه

    مثلا:
    1

    test=1; یا test=0;
    نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

    #2
    پاسخ : تعریف ماکرو

    سوالت خیلی نامفهومه ولی

    #define mymacro 1
    if(mymacro)
    function1();
    else
    function0();

    دیدگاه


      #3
      پاسخ : تعریف ماکرو

      سلام جناب mojalan تشکر از اینکه علاقمندان به C رو راهنمایی میکنید
      منهم سئوالی دارم البته درباره ماکرو نیست.
      در عبارت:
      ;unsigned char i=0
      OCR1A=(unsigned char)(i+64u)
      حرف u به چه معناست.
      در حالی که هیچ جای برنامه تعریف نشده!
      --------------------------------------------------------------------
      در تابع تاخیر
      delay_ms(50);
      چطور میشه به جای عدد 50 از متغییر استفاده کرد
      -------------------------------------------------------------------
      لطف کنید در مورد چگونگی ایجاد تاخیر توسط دستور زیر
      کمی راهنمایی کنید.
      if(!--b);
      }
      ..........{
      ببخشید سئوالاتم زیاد شد


      اگر شاد بودی آرام بخند تا غم بیدار نشود

      دیدگاه


        #4
        پاسخ : تعریف ماکرو

        در ضمن اگر روش نوشتن کد رو در پستها رو بگید ممنون میشم.

        اگر شاد بودی آرام بخند تا غم بیدار نشود

        دیدگاه


          #5
          پاسخ : تعریف ماکرو

          u = عددی رو که جلوش اومده رو کامپایلر بصورت unsigned در نظر میگیره
          در تابع delay_ms خب به جای عدد از اسم متغیر استفاده کن
          اما اون سوال آخر اگه اشتباه نکنم (چون باید رو کامپایلر امتحان کنم) فرض کن عدد b عددی غیر صفر باشه ابتدا یکی از مقدار b کم میشه بعد چک میشه که آیا صفر شده یا نه و بلاک if اجرا میشه یا نمیشه. همین ! در ضمن اون سمی کالن بعد از پرانتز if هم نباید باشه
          در مورد نوشتن کد هم که خودتون درست نوشتین. قبل از شروع کد کلمه ltr رو داخل دو تا کروشه بنویس بعد از تموم شدن کد هم /ltr رو داخل کروشه بنویس. (left to right)

          دیدگاه


            #6
            پاسخ : تعریف ماکرو

            سلام
            ممنون راهنمایی میکنید
            در تابع delay_ms خب به جای عدد از اسم متغیر استفاده کن
            اما اون سوال آخر اگه اشتباه نکنم (چون باید رو کامپایلر امتحان کنم) فرض کن عدد b عددی غیر صفر باشه ابتدا یکی از مقدار b کم میشه بعد چک میشه که آیا صفر شده یا نه و بلاک if اجرا میشه یا نمیشه. همین ! در ضمن اون سمی کالن بعد از پرانتز if هم نباید باشه
            از اسم متغیر استفاده میکنم خطا میگیره. :sad:
            در سئوال آخر b اول نات میشه بعد یک واحد ازش کم میشه دلیل نات شدنش رو میخواستم بدونم. :question:

            اگر شاد بودی آرام بخند تا غم بیدار نشود

            دیدگاه


              #7
              پاسخ : تعریف ماکرو

              u = عددی رو که جلوش اومده رو کامپایلر بصورت unsigned در نظر میگیره
              UL به چه معناست :question:
              با تشکر

              اگر شاد بودی آرام بخند تا غم بیدار نشود

              دیدگاه


                #8
                پاسخ : تعریف ماکرو

                نمیخوام داخل برنامه دیفاین کنم
                میخوام بگم مثلا


                test=1;

                تابع اول اجرا بشه
                میخوام بدون اینکه متغیری تعریف بشه این کار رو انجام بدم

                یه چیزی مثل مفسر زبان ها
                نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

                دیدگاه


                  #9
                  پاسخ : تعریف ماکرو

                  ul = unsigned long
                  نوشته اصلی توسط mjs1990s
                  میخوام بدون اینکه متغیری تعریف بشه این کار رو انجام بدم
                  خب تو برنامه ما هم متغیر تعریف نشده . یه ثابت در نظر گرفته شده. در کل منظورتون رو هنوز هم متوجه نشدم. اگه میخوای که کلا تعریف توابع متفاوت باشه از دستورات #ifdef و #ifndef استفاده کن

                  دیدگاه


                    #10
                    پاسخ : تعریف ماکرو

                    این سوالی که پرسیدم رو با تعریف یه متغیر به راحتی جواب میده
                    دقیقا میخوام روش فراخوانی تابع تغییر کنه
                    میشه یه مثال بزنید من که هر کاری کردم موفق نشدم
                    نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

                    دیدگاه


                      #11
                      پاسخ : تعریف ماکرو

                      کسی نیست راهنمایی کنه؟
                      نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

                      دیدگاه


                        #12
                        پاسخ : تعریف ماکرو

                        نوشته اصلی توسط Ghasede del
                        در ضمن اگر روش نوشتن کد رو در پستها رو بگید ممنون میشم.
                        موقع تایپ کد اونو بین از تگ # که زیر انتخاب سایز فونت هست استفاده کنید . یه دیگران هم این کار رو توصیه کنید و من هم میکنم .

                        دیدگاه

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