سلام جناب mojalan تشکر از اینکه علاقمندان به C رو راهنمایی میکنید
منهم سئوالی دارم البته درباره ماکرو نیست.
در عبارت:
;unsigned char i=0
OCR1A=(unsigned char)(i+64u)
حرف u به چه معناست.
در حالی که هیچ جای برنامه تعریف نشده!
--------------------------------------------------------------------
در تابع تاخیر
delay_ms(50);
چطور میشه به جای عدد 50 از متغییر استفاده کرد
-------------------------------------------------------------------
لطف کنید در مورد چگونگی ایجاد تاخیر توسط دستور زیر
کمی راهنمایی کنید.
u = عددی رو که جلوش اومده رو کامپایلر بصورت unsigned در نظر میگیره
در تابع delay_ms خب به جای عدد از اسم متغیر استفاده کن
اما اون سوال آخر اگه اشتباه نکنم (چون باید رو کامپایلر امتحان کنم) فرض کن عدد b عددی غیر صفر باشه ابتدا یکی از مقدار b کم میشه بعد چک میشه که آیا صفر شده یا نه و بلاک if اجرا میشه یا نمیشه. همین ! در ضمن اون سمی کالن بعد از پرانتز if هم نباید باشه
در مورد نوشتن کد هم که خودتون درست نوشتین. قبل از شروع کد کلمه ltr رو داخل دو تا کروشه بنویس بعد از تموم شدن کد هم /ltr رو داخل کروشه بنویس. (left to right)
در تابع delay_ms خب به جای عدد از اسم متغیر استفاده کن
اما اون سوال آخر اگه اشتباه نکنم (چون باید رو کامپایلر امتحان کنم) فرض کن عدد b عددی غیر صفر باشه ابتدا یکی از مقدار b کم میشه بعد چک میشه که آیا صفر شده یا نه و بلاک if اجرا میشه یا نمیشه. همین ! در ضمن اون سمی کالن بعد از پرانتز if هم نباید باشه
از اسم متغیر استفاده میکنم خطا میگیره. :sad:
در سئوال آخر b اول نات میشه بعد یک واحد ازش کم میشه دلیل نات شدنش رو میخواستم بدونم. :question:
میخوام بدون اینکه متغیری تعریف بشه این کار رو انجام بدم
خب تو برنامه ما هم متغیر تعریف نشده . یه ثابت در نظر گرفته شده. در کل منظورتون رو هنوز هم متوجه نشدم. اگه میخوای که کلا تعریف توابع متفاوت باشه از دستورات #ifdef و #ifndef استفاده کن
دیدگاه