Re: آموزش میکروکنترولر AVR از ابتدا تا پیشرفته(+فهرست)
ارسال شده: یکشنبه ۲۳ خرداد ۱۳۹۵, ۱۱:۲۳ ق.ظ
بنام خدا
باسلام
[HIGHLIGHT=#92d050]اما حلقه for، حلقه for می توان به مانند حلقه while تودرتو نوشت
به عنوان مثال
(++for(i=0;i<10;i
}
(++for(x=0;x<0;x
}
دستور العمل ها
{
}
پس مشکلی از بابت تو در تو نوشته شدن حلقه for نیست.
حلقه ها تو در تو for ، در بعضی کارها مثل ساخت تابلو ها روان و .. کاربرد ویژه دارد، و بطور کلی حلقه for حلقه های بسیار خوب و کاربردی در کدویژن می باشن.
[HIGHLIGHT=#76923c]دستور
به کمک این دستور می توانیم،در بعضی برنامه کارها را سریع تر انجام دهیم .. وظیفه این دستور مقایسه کردن یک متغیر با گزینه های خود،سپس انجام دستور العمل نسبت به ان می باشد.
اصول نوشتن:
(عبارت)switch
}
:مقدار 1 case
;دستور العمل های اول
;break
:مقدار 2 case
;دستور العمل های دوم
;break
:مقدار 3 case
;دستور العمل های سوم
;break
:مقدار 4 case
;دستور العمل های چهارم
;break
:default
;دستور العمل های پیش فرض
}
و...
ما ابتدا باید یک متغیر به switch معرفی کنید ،دقیقا جایی که گفته شده است "عبارت" سپس مقدار عبارت با هر یک از مقدار case ها برابر بود،دستورالعمل های مطابق به همان کیس اجرا میشود(و بلافاصله از دستور switch خارج میشود)،اما در صورتی که متغیر با هیچ از case قابل مقایسه نبود، شرایط default اجرا میشود. (لازم به ذکر است می توان default را اصلا ننوشت)
به عنوان مثال:
0=unsigned char a=0,b
(switch(a
}
case 5: b=10
;break
case 7: b=20
;break
case 44 : b=30
;break
;default: b=70
{
در مثال بالا، دو متغیر a,b را تعریف کرده ایم و مقدار انها را 0 کرده ایم، سپس برنامه وارد دستور سوئیچ میشود، متغیر a برای مقایسه با کیس ها switch گرفته میشود،
ابتدا با کیس اول،که مقدارش 5 می باشد،مقایسه میشود،چون مقدارش بیشتر از a می باشد،اجرا نمی شود، شرط بعدی مقایسه میشود،چون بازهم مقدار a کمتر از 7 می باشد، دستورش اجرا نمی شود،کیس سوم هم به مانند کیس ها قبلی بیشتر از مقدار a می باشد. در پایان برنامه وقتی به default می رسد، مقدار b را برابر 70 می کند .
از دستور switch بیشتر در ساخت کیبوردها و موارد دیگر استفاده میشود .(انشالله در آینده بیشتر با ان اشنا خواهید شد)
باتشکر.
باسلام
[HIGHLIGHT=#92d050]اما حلقه for، حلقه for می توان به مانند حلقه while تودرتو نوشت
به عنوان مثال
(++for(i=0;i<10;i
}
(++for(x=0;x<0;x
}
دستور العمل ها
{
}
پس مشکلی از بابت تو در تو نوشته شدن حلقه for نیست.
حلقه ها تو در تو for ، در بعضی کارها مثل ساخت تابلو ها روان و .. کاربرد ویژه دارد، و بطور کلی حلقه for حلقه های بسیار خوب و کاربردی در کدویژن می باشن.
[HIGHLIGHT=#76923c]دستور
به کمک این دستور می توانیم،در بعضی برنامه کارها را سریع تر انجام دهیم .. وظیفه این دستور مقایسه کردن یک متغیر با گزینه های خود،سپس انجام دستور العمل نسبت به ان می باشد.
اصول نوشتن:
(عبارت)switch
}
:مقدار 1 case
;دستور العمل های اول
;break
:مقدار 2 case
;دستور العمل های دوم
;break
:مقدار 3 case
;دستور العمل های سوم
;break
:مقدار 4 case
;دستور العمل های چهارم
;break
:default
;دستور العمل های پیش فرض
}
و...
ما ابتدا باید یک متغیر به switch معرفی کنید ،دقیقا جایی که گفته شده است "عبارت" سپس مقدار عبارت با هر یک از مقدار case ها برابر بود،دستورالعمل های مطابق به همان کیس اجرا میشود(و بلافاصله از دستور switch خارج میشود)،اما در صورتی که متغیر با هیچ از case قابل مقایسه نبود، شرایط default اجرا میشود. (لازم به ذکر است می توان default را اصلا ننوشت)
به عنوان مثال:
0=unsigned char a=0,b
(switch(a
}
case 5: b=10
;break
case 7: b=20
;break
case 44 : b=30
;break
;default: b=70
{
در مثال بالا، دو متغیر a,b را تعریف کرده ایم و مقدار انها را 0 کرده ایم، سپس برنامه وارد دستور سوئیچ میشود، متغیر a برای مقایسه با کیس ها switch گرفته میشود،
ابتدا با کیس اول،که مقدارش 5 می باشد،مقایسه میشود،چون مقدارش بیشتر از a می باشد،اجرا نمی شود، شرط بعدی مقایسه میشود،چون بازهم مقدار a کمتر از 7 می باشد، دستورش اجرا نمی شود،کیس سوم هم به مانند کیس ها قبلی بیشتر از مقدار a می باشد. در پایان برنامه وقتی به default می رسد، مقدار b را برابر 70 می کند .
از دستور switch بیشتر در ساخت کیبوردها و موارد دیگر استفاده میشود .(انشالله در آینده بیشتر با ان اشنا خواهید شد)
باتشکر.












