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





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









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





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13
  1. #1
    2010/04/09
    69
    2

    وقفه در اجرای i2c

    سلام دوستان
    من یک مداری دارم که ds1307 داره و ارتباط سریال با یک master دیگه داره ..... با میکرو pic
    سوالیکه اینجا پیش میاد اینه :
    ایا وقتی من در حال خوندن در زمان و تاریخ در ds1307 با پروتکل i2c هستم اگر فرمانی از master بیاد و وقفه سریال ایجاد بشه ارتباط i2c قظع میشه یا درست انجام نمیشه ؟؟؟؟
    مثلا در حال اجرای برنامه ی زیر هستم و می خوام ثانیه و دقیقه و ساعت رو بخونم وقتی که دارم i2c read میکنم وقفه rs232 ایجاد بشه و میکرو میره که زیر روال وقفه 232 رو اجرا کنه و داده رو دریافت کنه ....

    ایا i2c داده رو درست میخونه و همچنین rs232 با getc به موقع میتونه بره به زیر روال و داده رو ذخیره کنه ؟



    ایا i2c داده رو درست میخونه و همچنین rs232 با getc به موقع میتونه بره به زیر روال و داده رو ذخیره کنه ؟

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



  2. #2
    2008/01/02
    44
    0

    پاسخ : وقفه در اجراي i2c

    من فکر ميکنم شما مفهوم وقفه را کاملا نميدونين!!

    وقتي يه وقفه اتفاق مي افته ، زير روال برنامه وقفه به صورت سخت افزاري اجرا ميشه و کاري به برنامه main نداره!! وقفه جداگانه کار خودشو انجام ميده و برنامه اصلي هم جدا!!

    حتي اگر چندتا وقفه همزمان استفاده کرده باشين ، در اجراي اونها هيچ تداخلي به وجود نمياد، چون اين امر سخت افزاري است نه نرم افزاري!!!!
  3. #3
    2013/06/19
    1,544
    80

    پاسخ : وقفه در اجراي i2c

    نقل قول نوشته اصلی توسط ok20
    من فکر ميکنم شما مفهوم وقفه را کاملا نميدونين!!

    وقتي يه وقفه اتفاق مي افته ، زير روال برنامه وقفه به صورت سخت افزاري اجرا ميشه و کاري به برنامه main نداره!! وقفه جداگانه کار خودشو انجام ميده و برنامه اصلي هم جدا!!

    حتي اگر چندتا وقفه همزمان استفاده کرده باشين ، در اجراي اونها هيچ تداخلي به وجود نمياد، چون اين امر سخت افزاري است نه نرم افزاري!!!!
    شايد شما مفهوم وقفه رو نميدونيد. اين که ميگيد به صورت سخت افزاري انجام ميشه يعني چي؟ يعني اينکه يه پردازنده ديگه بايد بياد و دستورات داخل وقفه رو اجرا کنه!!
    ايجاد وقفه به صورت سخت افزاري هست نه اجراي اون
    که شما ميتونيد با دستورات مربوط به اولويت دهي وقفه ها، اونايي که براتون مهم تره رو به اولويت بالا تري ببريد. که مثلا تا روتين وقفه i2c تمام نشده وقفه rs232 عمل نکنه
    در مورد سريال هم بستگي به اندازه بافر و حجم اطلاعات شما داره. ممکنه بافر پر بشه و اطلاعات قبل از اينکه بخونيدش از بين بره
    AYRIC
  4. #4
    2010/04/09
    69
    2

    پاسخ : وقفه در اجرای i2c

    من فکر ميکنم شما مفهوم وقفه را کاملا نميدونين!!

    وقتي يه وقفه اتفاق مي افته ، زير روال برنامه وقفه به صورت سخت افزاري اجرا ميشه و کاري به برنامه main نداره!! وقفه جداگانه کار خودشو انجام ميده و برنامه اصلي هم جدا!!

    حتي اگر چندتا وقفه همزمان استفاده کرده باشين ، در اجراي اونها هيچ تداخلي به وجود نمياد، چون اين امر سخت افزاري است نه نرم افزاري!!!!
    ماذا فاذا ؟؟؟ فازت چیه مشتی ؟؟؟؟
    مگه دوتا پردازنده داریم که بصورت موازی برنامه رو اجرا کنه .... چیزی که روشنه اینه که برنامه خط به خط اجرا میشه نه بصورت موازی هم i2c اجرا بشه هم rs232.... خواهشا قبل از اظهار نظر کمی فکر کنید چون با راهنمایی اشتباه کلا راه اشتباه طی میشه .......

    شايد شما مفهوم وقفه رو نميدونيد. اين که ميگيد به صورت سخت افزاري انجام ميشه يعني چي؟ يعني اينکه يه پردازنده ديگه بايد بياد و دستورات داخل وقفه رو اجرا کنه!!
    ايجاد وقفه به صورت سخت افزاري هست نه اجراي اون
    که شما ميتونيد با دستورات مربوط به اولويت دهي وقفه ها، اونايي که براتون مهم تره رو به اولويت بالا تري ببريد. که مثلا تا روتين وقفه i2c تمام نشده وقفه rs232 عمل نکنه
    در مورد سريال هم بستگي به اندازه بافر و حجم اطلاعات شما داره. ممکنه بافر پر بشه و اطلاعات قبل از اينکه بخونيدش از بين بره
    مهندس عزیز من برای i2c از وقفه استفاده نمی کنم البته ترجیحا....ی
    پس نظر شما اینه که در هنگام خواندن i2c ممکن داده rs232 از بین بره ....و در حال خواندن i2c میکرو نرسه که بره rs232 رو بخونه ....... منم همین فکر رو میکردم ....
    یعنی راه حلی نیست ؟

  5. #5
    2013/06/19
    1,544
    80

    پاسخ : وقفه در اجراي i2c

    وقفه i2c که مثال زدم وقفه ssp مربوط به حالتيه که ميکرو در حالت slave تنظيم شده
    توي کار شما اگه ديتا rs232 رو در وقفه بخونيد مشکلي پيش نمياد!
    فقط در برنامتون نبايد از دستوراتي که در طي اونها وقفه غير فعال ميشه رو استفاده کنيد
    AYRIC
  6. #6
    2010/04/09
    69
    2

    پاسخ : وقفه در اجرای i2c

    تشکر ... :job:
    من هیچ وقت وقفه رو غیر فعال نمی کنم ......
    میشه بیشتر توضیح بدید ..... فرض کنید میکرو یک دستور read فرستاد برای ds1307 و میکرو منتظر میمونه تا داده رو از ds1307 بخونه درست در لحظه ی دریافت از پورت i2c یک داده سریال uart میاد ... میکرو چطور میتونه این موضوع رو حل کنه که ایا باید بره داده سریال رو بخونه یا ادامه خواندن داده i2c.؟؟؟؟؟؟
  7. #7
    2013/06/19
    1,544
    80

    پاسخ : وقفه در اجراي i2c

    والا تا حالا به اين قضيه برخورد نکردم
    اگه ميکرو وسط دريافت ديتا i2c رو ول کنه چه مشکلي پيش مياد؟
    slave کلاک خودش رو مگه از master نميگيره؟ من اينجوري فکر ميکنم
    منظورم اينه که اگه وسط کار ميکرو ds1307 رو ول کنه و بره سراغ يه کار ديگه بعدش با ادامه کلاکي که به ds1307 ميده ادامه ديتا رو هم دريافت ميکنه
    AYRIC
  8. #8
    2006/08/16
    867
    17

    پاسخ : وقفه در اجرای i2c

    نقل قول نوشته اصلی توسط Meysamhl
    سلام دوستان
    من یک مداری دارم که ds1307 داره و ارتباط سریال با یک master دیگه داره ..... با میکرو pic
    سوالیکه اینجا پیش میاد اینه :
    ایا وقتی من در حال خوندن در زمان و تاریخ در ds1307 با پروتکل i2c هستم اگر فرمانی از master بیاد و وقفه سریال ایجاد بشه ارتباط i2c قظع میشه یا درست انجام نمیشه ؟؟؟؟
    مثلا در حال اجرای برنامه ی زیر هستم و می خوام ثانیه و دقیقه و ساعت رو بخونم وقتی که دارم i2c read میکنم وقفه rs232 ایجاد بشه و میکرو میره که زیر روال وقفه 232 رو اجرا کنه و داده رو دریافت کنه ....
    ایا i2c داده رو درست میخونه و همچنین rs232 با getc به موقع میتونه بره به زیر روال و داده رو ذخیره کنه ؟
    ارتباط i2c ممکنه موقتاً قطع بشه ولی مشکلی براش بوجود نمیاد چون ارتباط سنکرون هست و با کلاک کنترل میشه.

    اینکه برای USART مشکلی پیش بیاد یا نه بستگی داره به یه چیزایی. کامپایلر و اینکه i2c سخت افزاری هست یا نرم افزاری و baudrate و ... . باید محاسبه و تست کنید.

    نکته دیگر اینکه اگر ساعت و تاریخ از طریق سریال منتقل میشود ممکن است مثلاً در ساعت 10:00 بعد از خواندن دقیقه، وقفه سریال پیش بیاید و ساعت بعذ از 9:59 به اشتباه بصورت 9:00 ارسال شود.

    در آخر اینکه برای قرار دادن کد از این طریق اقدام کنید:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  9. #9
    2010/04/09
    69
    2

    پاسخ : وقفه در اجرای i2c

    با تسکر از همه دوستان بخاطر پاسخ هاشون ....
    freedom_truth جان تشکر .... مشکل اینجا حادتر میشه که من یه eeprom at24cxx هم توی مدار دارم و باید در اون eeprom هم بنویسم و بخونم .......
    کامپایلر من ccs هست که errore مربوط به rs232 شو هم فعال کردم ...... و نرخ هم 19200 هست ...
    ایا تنها راهی که ممیمونه اینه که در زمانی که read و write در i2c دارم باید وقفه ها رو غیرفعال کنم ایا ؟؟ :biggrin:
  10. #10
    2006/08/16
    867
    17

    پاسخ : وقفه در اجرای i2c

    کدتو بزار.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 13

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

  1. فعال کردن و شمارش تایمرها در حین اجرای روتین وقفه خارجی
    توسط colpits در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2016/04/27, 09:00
  2. ایجاد وقفه زمانی در اجرای برنامه
    توسط pesson در انجمن Matlab
    پاسخ: 3
    آخرين نوشته: 2015/08/16, 21:29
  3. اجرای وقفه تایمر بعد از 3 ثانیه
    توسط ebi2000 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2012/04/22, 21:32
  4. پاسخ: 3
    آخرين نوشته: 2009/12/07, 11:41
  5. ترتیب اجرای وقفه ها
    توسط golgolak در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2008/12/12, 23:35

کلمات کلیدی این موضوع

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

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

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

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