می خوام میکروم 2تا کارو جداگانه انجام بده ! البته نه به طور همزمان . میخوام اگر پورت b.0 یک بود بره سراغ خوندن از mmc و زمانی که این پورت 0 شد . بره سراغ نوشتن از mmc . تا اینجاش ساده است ولی مشکل من این تیکه هست . می خوام یه جورایی مثل وقفه باشه . یعنی هر بار نمی خوام پورت b.0 را چک کنم . میخوام خوندنو ادامه بده تا زمانی که این پورت 1 هست . به محض اینکه پورت 0 شد بنویسه رو رم و دوباره تازمانی که پورت 1 شد برگرده سر خوندن .
اطلاعیه
Collapse
No announcement yet.
انجام دو عمل جداگانه توسط میکرو
Collapse
X
-
پاسخ : انجام دو عمل جداگانه توسط میکرو
ممنون . من تا حالا با اینتراپت ها کار نکردم ؟
میتونید با بسکام یک مثل ساده ای بزنید ؟
من atmega 128a کار می کنم.دنیا بر پایه برنامه هایی هست که خدا با زبان برنامه نویسی خودش مینویسد . کامپایل شده آن این جهان و قوانین آن است . start آن تولد است و end آن مرگ . پر از گزینه های شرطی و دستورات حلقه و تکرار ...
دیدگاه
-
پاسخ : انجام دو عمل جداگانه توسط میکرو
همونطور که دوستان گفتن حتما باید از وقفه استفاده کنی
اول وقفه رو بصورت اینکه اگه یک شد وقفه فعال بشه کانفیگ کن و بعد از اینکه این وقفه فعال شد تو روتین وقفه یه متغییر رو تغییر بعدش تو روال برنامه با تغییر این متغییر کار مورد نظر رو انجام بده
زمانی که تو روتین وقفه هستی وقفه رو با حالت بعدی کانفیگ کن و منتظر اینتراپت بعدی بشو
نمی دونم منظورم رو خوب گفتم یا نه؟ اما با این کار می تونی به منظورت برسی
وقفه تغییر وضعیت ممکنه در حین کار با مشکل مواجهت کنه و کار رو بر عکس انجام بده :agree:همیشه به یاد خدا باش !
دیدگاه
-
پاسخ : انجام دو عمل جداگانه توسط میکرو
بسم رب شهدا
خب شما دارید از اتمگا 128 استفاده میکنید این ای سی دارای 4 وقفه روی پایه های 25-26-27-28 دارید.
config int0=falling
enable interrupts
enable int0
on int0 ali
do
دستور خواندن
loop
end
:ali
دستور نوشتن
return
falling برای لبه پایین رونده است یعنی پایه 25 که وقفه int0 هست باید به طور عادی یک باشد و با صفر شدن وقفه اتفاق می افتد برای برعکس کردن میتوان rising نوشت.
بقیه برنامه هم فکر کنم واضح هست اگه مشکلی بود بگو. :arrow:الکترونیک همه کاره دنیا
دیدگاه
دیدگاه