5 لایک
-
1
Post By magmagmary
-
1
Post By magmagmary
-
2
Post By Tiranoid
-
1
Post By shobeir90
-
شما اگه چند فصل اول یه کتاب برنامه نویسی به زبان c رو بخونید قطعا مشکلتون رو حل میکنه. با دو تا مثال آردویینو هم یاد میگیرید چطور برای آردویینو با c بنویسید.
بعد از اون، براحتی با ساده کردن مسئله تو ذهنتون و نوشتن کدش میتونید جواب مسئله تون رو بگیرید. براتون مثال میزنم
خب شما میخواین تعداد فشرده شدن یه کلید رو بشمارید. در دنیای رایانه، فشردن شدن یه کلید، یعنی 1 شدن یه بیت ، یا همون high شدن یه بیت.
در میکروکنترلرها، معمولا یه پایه ورودی خروجی تو میکرو متناظر با یه بیته
پس
در گام اول باید یه پایه انتخاب کنید، به عنوان ورودی تعریفش کنید، بعد فشار داده شدنش رو تشخیص بدید. معمولا کلید ها طوری بسته میشن، که با وصل شدن، ولتاژ + رو وصل میکنن به مقصد. اینجا مقصد، پایه ی ورودی میکروکنترلره. پس از وصل شدن مثبت به این پایه، خود میکروکنترلر بیت متناظر با اون رو 1 میکنه. پس ما میتونیم بخونیمش و بفهمیم.
خب الان ما میتونیم بفهمیم که کلید فشار داده میشه یا نه. اگه پایه مورد نظر رو با یه شرط خوندیم و میکرو به ما گفت که اون پایه 1 هست، یعنی در اون لحظه کلید فشار داده شده.
حالا باید تعداد این شمردن ها جایی ذخیره بشه. یه متغییر (محلی برای نگه داشتن داده ها) درست میکنیم، و این عدد شمردن رو توش ذخیره میکنیم. هر بار که شرط بالایی به ما گفت کلید زده شده، ما یه شماره بهش اضافه میکنیم. مثلا یک، دو ، سه و ...
حالا میخوایم بگیم اگه مثلا 5 ثانیه گذشت، و هیچ کلیدی فشار داده نشد، باید تعداد شمارش ها صفر بشه. یعنی یجوری ریست بشه. خب به راحتی میایم یه شرط میذاریم.
میگیم اگه از زمان آخرین فشرده شدن، 5 ثانیه گذشته بود، اون متغییر که شمارش ها رو توش ذخیره میکردیم، مقدارشو صفر کن.
الان میخوایم کاری کنیم که اگر مثلا 2 بار کلید فشار داده شده بود فلان کار رو انجام بده. شرط میذاریم، میگیم اگه مقدار اون متغییر که شمارش ها توشه، 2 بود، یعنی دو بار کلید فشار داده شده و هنوز 5 ثانیه هم نگذشته (چون اگه گذشته بود، تو گام قبلی صفر میشد مقدار شمارش ها)، فلان کار انجام بشه.
تموم. به همین راحتی ! شما با یه هفته وقت گذاشتن براحتی میتونی اون دو سه فصل اول c رو یاد بگیری
متغییر ها، شرط ها، حلقه ها و... همه فصل های نخست هر کتاب آموزش برنامه نویسی ای هستن
ویرایش توسط Tiranoid : 11-29-2016 در ساعت 08:23 AM
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین انجمن
SEO by vBSEO