ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





  1. #1
    تاریخ عضویت
    2007/12/13
    10
    0

    مشکل همیشگی در ایجاد وقفه

    با سلام و خسته نباشی خدمت تمامی دوستان عزیز غرض از مزاحمت این بود که چندین سوال داشتم که امیدوارم مرا یاری رسانید
    بنده روی یک پروژه که با BACOM هست دارم کار میکنم که در آن ک سری حلقه ها برای اجرای برنامه توسط برنامه بیسکام نوشتم که پس از کامپایل کردن و و اجرای آن در برنامه شبیه ساز پروتئوس به خوبی کار میکند
    حالا اگه من پنج پایه(پورت)از میکرو را برای موارد وقفه استفاده کنم که به این صورت اگه هر کدام از این پورتها را در زمانهای نامشخص یک کنیم و بواسطه یک شدن هر کدام از این پورتها یک سری حلقه ها مختص همان پورتی که یک شده اجرا شود و در صورت صفر شدن آن پورت برنامه به حالت عادی و اجرای حلقه اصلی بپردازد اولا ما چه ATMEAGA احتیاج داریم که این تعداد وقفه را ساپورت کند ثانیا برنامه به زبان بیسکام به چه صورتی نوشته می شود با این تعداد وقفه ثالثا اگه یکی از پورتهایی که به وقفه خارجی اختصاص داده ایم دائما صفر و یک شود (چیزی مثل لامپ راهنای اتومبیل )و در این صورت ما بخواهیم یک حلقه را اجرا کند که ممدت اجرای این حلقه بیش از مدت زمانی است که این پورت یک می شود آنگاه برنامه ی آن به چه صورتی است
    اینو هم بگم بنده از میکرو ATMEGA و بیسکام چیز زیادی نمیدونم ولی اگه میتونید دوستان مرا یاری رسانید حتی در حد تخصصی با سپاس
    دوست عزیز متشکرم از پاسخ شما ولی مثل اینکه من مسئله رو بد طرح کردم
    یک برنامه بطور عادی در حالت اجرا است و در این موقع یک پورت یک میشود و برنامه باید از حلقهی اصلی خارج شود و حلقه جدیدی که مختص یک شدن همان پورت است اجرا شود و تا صفر شدن همان پورت این حلقه ی جدید تکرار شود . حال اگر به جای یک پورت ما چندین پورت مثلا پنج تا از این پورتها را به این کار اختصاص دهیم که در هنگام یک شدن هر کدام از این پورتها برنامه از مسیر اصلی خود خارج شده و حلقه ی جدیدی را اجرا کند و دائما آنرا تا صفر شدن این پورتها تکرار کند و در صورت صفر شدن این پورتها به حلقه ی اصلی برنامه برگردد. لازم به ذکر است ما باید برای هر کدام از این پنج پورت یک حلقه بنویسیم که در صورتی که هریک از این پورتها فعال شد حلقه ی مربوط به آن پورت را اجرا کند و اگر یکی از پورتها یی که در یک زمان نا مشخص یک میشود نسبت به دیگر پورتها ارجحیت داشته باشد حلقه ی مربوط به آن پورت را ارجح بداند و آنرا اجرا کند
    • تبلیغات
      .

  2. #2
    تاریخ عضویت
    2007/07/23
    تهران
    1,197
    20

    پاسخ : کمک کمک دوستان فرهیخته

    نقل قول نوشته اصلی توسط mjs10205
    با سلام و خسته نباشی خدمت تمامی دوستان عزیز غرض از مزاحمت این بود که چندین سوال داشتم که امیدوارم مرا یاری رسانید
    بنده روی یک پروژه که با BACOM هست دارم کار میکنم که در آن ک سری حلقه ها برای اجرای برنامه توسط برنامه بیسکام نوشتم که پس از کامپایل کردن و و اجرای آن در برنامه شبیه ساز پروتئوس به خوبی کار میکند
    حالا اگه من پنج پایه(پورت)از میکرو را برای موارد وقفه استفاده کنم که به این صورت اگه هر کدام از این پورتها را در زمانهای نامشخص یک کنیم و بواسطه یک شدن هر کدام از این پورتها یک سری حلقه ها مختص همان پورتی که یک شده اجرا شود و در صورت صفر شدن آن پورت برنامه به حالت عادی و اجرای حلقه اصلی بپردازد اولا ما چه ATMEAGA احتیاج داریم که این تعداد وقفه را ساپورت کند ثانیا برنامه به زبان بیسکام به چه صورتی نوشته می شود با این تعداد وقفه ثالثا اگه یکی از پورتهایی که به وقفه خارجی اختصاص داده ایم دائما صفر و یک شود (چیزی مثل لامپ راهنای اتومبیل )و در این صورت ما بخواهیم یک حلقه را اجرا کند که ممدت اجرای این حلقه بیش از مدت زمانی است که این پورت یک می شود آنگاه برنامه ی آن به چه صورتی است
    اینو هم بگم بنده از میکرو ای تی مگا و بیسکام چیز زیادی نمیدونم ولی اگه میتونید دوستان مرا یاری رسانید حتی در حد تخصصی با سپاس
    سلام..
    دوست عزیز عنوان پست رو عوض کنید..(طبق قوانین سایت گذاشتم کلماتی مانند کمک ، فوری و ... ممنوع میباشد)
    متشکرم
    www.icesi.ir
  3. #3
    تاریخ عضویت
    2007/12/28
    جنوب کشور
    885
    4

    پاسخ : مشکل همیشگی در ایجاد وقفه

    اول ممنون از آقای موسوی که این اخطار رو به جا و مناسب دادند و امیدوارم که تغییرات اعمال بشه.
    -------------------------------------------
    در مورد سوالی که پرسیدید ، از نظر تئوری ، و اونطوری که از نوشته های طولانی شما برداشت کردم، به نظر من شما می خواهید چند برنامه همراه هم اجرا بشه. در وقفه تقریبا این حالت وجود دارد ، ولی دقیق نه. همراه هم در AVR این کار صورت نمی گیرد. مثلا شما می خواهید ، یک برنامه رو با تاخیر 1 ثانیه ای و دیگری را با 10 میلی ثانیه ای انجام دهید. در صورتی که تنها ظاهر این مسئله مهم است این نکته عملی می باشد ، ولی در صورتی که باید از همه نظر صحیح باشد، این کار توسط میکرو کنترلر ها صورت نمی گیرد. از آنجایی که شما با میکرو کنترلر ها آشنایی کامل ندارید، گمان می کنم که با مدارهای منطقی و PLD , SPLD , GAL , CPLD , FPGA نیز آشنایی ندارید. چون تنها چند خانواده ای که نام بردم این امکان را دارند که جدیدا نوع جدیدی نیز به نام خانواده FPAA نیز این قابلیت ها را دارند. برای آشنایی می توانید به این قسمت مراجعه کنی : http://www.eca.ir/forum2/index.php?board=103.0
    کنکوری 90 ديروز،آ*دانشجو مهندسي نرم افزار پلي تكنيك امروز!
  4. #4
    تاریخ عضویت
    2007/12/13
    10
    0

    پاسخ : مشکل همیشگی در ایجاد وقفه

    دوست عزیز متشکرم از پاسخ شما ولی مثل اینکه من مسئله رو بد طرح کردم
    یک برنامه بطور عادی در حالت اجرا است و در این موقع یک پورت یک میشود و برنامه باید از حلقهی اصلی خارج شود و حلقه جدیدی که مختص یک شدن همان پورت است اجرا شود و تا صفر شدن همان پورت این حلقه ی جدید تکرار شود . حال اگر به جای یک پورت ما چندین پورت مثلا پنج تا از این پورتها را به این کار اختصاص دهیم که در هنگام یک شدن هر کدام از این پورتها برنامه از مسیر اصلی خود خارج شده و حلقه ی جدیدی را اجرا کند و دائما آنرا تا صفر شدن این پورتها تکرار کند و در صورت صفر شدن این پورتها به حلقه ی اصلی برنامه برگردد. لازم به ذکر است ما باید برای هر کدام از این پنج پورت یک حلقه بنویسیم که در صورتی که هریک از این پورتها فعال شد حلقه ی مربوط به آن پورت را اجرا کند و اگر یکی از پورتها یی که در یک زمان نا مشخص یک میشود نسبت به دیگر پورتها ارجحیت داشته باشد حلقه ی مربوط به آن پورت را ارجح بداند و آنرا اجرا کند
  5. #5
    تاریخ عضویت
    2007/07/23
    تهران
    1,197
    20

    پاسخ : مشکل همیشگی در ایجاد وقفه

    نقل قول نوشته اصلی توسط mjs10205
    دوست عزیز متشکرم از پاسخ شما ولی مثل اینکه من مسئله رو بد طرح کردم
    یک برنامه بطور عادی در حالت اجرا است و در این موقع یک پورت یک میشود و برنامه باید از حلقهی اصلی خارج شود و حلقه جدیدی که مختص یک شدن همان پورت است اجرا شود و تا صفر شدن همان پورت این حلقه ی جدید تکرار شود . حال اگر به جای یک پورت ما چندین پورت مثلا پنج تا از این پورتها را به این کار اختصاص دهیم که در هنگام یک شدن هر کدام از این پورتها برنامه از مسیر اصلی خود خارج شده و حلقه ی جدیدی را اجرا کند و دائما آنرا تا صفر شدن این پورتها تکرار کند و در صورت صفر شدن این پورتها به حلقه ی اصلی برنامه برگردد. لازم به ذکر است ما باید برای هر کدام از این پنج پورت یک حلقه بنویسیم که در صورتی که هریک از این پورتها فعال شد حلقه ی مربوط به آن پورت را اجرا کند و اگر یکی از پورتها یی که در یک زمان نا مشخص یک میشود نسبت به دیگر پورتها ارجحیت داشته باشد حلقه ی مربوط به آن پورت را ارجح بداند و آنرا اجرا کند
    سلام.
    خودت قبول داری که سوالت گنگه؟؟ :rolleyes:

    تو متن بالا پورت درسته یا پین؟؟

    ATmega64 فکر کنم 7 یا 8 تا اینتراپت داشته باشه..

    سوالتو خیلی واضح تر بپرس.. :agree:
    www.icesi.ir
  6. #6
    تاریخ عضویت
    2007/10/05
    1,642
    10

    پاسخ : مشکل همیشگی در ایجاد وقفه

    گاهی میشه به جای وقفه فقط وضعیت پایه ها رو تو یه لوپ بررسی کرد( فقط گاهی وقتا)
    گاهی میشه از دو تا میکرو استفاده کرد
    گاهی هم همونطور که میلاد گفت میشه از میکروهایی که تعداد وقفه زیاد دارن استفاده کرد مثل ATMEGA1280 و ATMEGA640 و ATMEGA2560 که 32 اینتراپت خارجی دارن .
    اگه به بسکام 1.11.9.0 دسترسی داری می تونی بری مشخصات مورد نظرتو پیدا کنی.
نمایش نتایج: از 1 به 6 از 6

موضوعات مشابه

  1. مشکل چند بار ایجاد شدن وقفه خارجی
    توسط M3R-E در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2016/04/30, 19:13
  2. مشکل همیشگی من با کی پد
    توسط gbg در انجمن STM
    پاسخ: 14
    آخرين نوشته: 2015/06/05, 13:25
  3. مشکل در ایجاد لبه در زیر روال وقفه
    توسط rad.farzan در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2015/04/22, 21:05
  4. مشکل همیشگی usb به سریال
    توسط Akbar-Hi در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2010/08/16, 13:06
  5. مشکل همیشگی من با ATMEGA 128
    توسط مهدی مهری در انجمن میکروکنترلرهای AVR
    پاسخ: 12
    آخرين نوشته: 2008/08/22, 15:34

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •