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





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









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





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

نمایش نتایج: از 1 به 10 از 10
  1. #1
    2012/03/17
    یوردوم تبریز
    54
    9

    مشکل عملي با هر دو وقفه gpio و خارجي.

    سلام دوستان من هنگام استفاده عملي از دو وقفه اشاره شده و به کارگيري برنامه هاي نمونه eca و آقاي زرکوب و البته تست بر روي دو برد (هدر برد lpc1768 و برد توسعه يافته lpc1768 ) متوجه شدم که برخلاف تنظيمات من که در حالت حساس فقط به يکي از لبه ها هست موقع فشار کليد و گهگاهي هم موقع دست کشيدن از کليد وارد زيرروال وقفه ميشه که نبايد حالت دوم اتفاق بيفته.حالا اگه قضيه گليچ مطرحه چرا پس من تو avr اصلا همچين مشکلي نداشتم cortex که پشرفته تره.و در پايان کسي راه حلي ميدونه؟
    پول پ وپول دان رو هم تست کردم و همچنين pinmode نتيجه اي نداد.
    دقت کردین تو مهمونیا یه کیوی رو وقتی با پوست میخورین چه جور نگاتون میکنن.!!!!

    هيچگاه چيزي را خوب نمي فهمي، مگر اينكه بتواني آن را براي مادربزرگت شرح دهي!((آلبرت انيشتين))
  2. #2
    2008/01/23
    402
    15
    sma

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    گلیچ رو نمیدونم چیه !
    ولی به خاطر bounce هست .

    شما تو avr با شبیه ساز کار کردید ؟ ( اخه خودم هم مشکل نداشتم ،چون فقط با شبیه ساز تست کردم :mrgreen: )
    فکر میکنم بهترین کار استفاده از یه خازن برای حذف bounce هست .
    إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
    کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)
  3. #3
    2012/03/17
    یوردوم تبریز
    54
    9

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    نقل قول نوشته اصلی توسط " سيد محمد "
    گليچ رو نميدونم چيه !
    ولي به خاطر bounce هست .

    شما تو avr با شبيه ساز کار کرديد ؟ ( اخه خودم هم مشکل نداشتم ،چون فقط با شبيه ساز تست کردم :mrgreen: )
    فکر ميکنم بهترين کار استفاده از يه خازن براي حذف bounce هست .
    ممنون يه فيلتر RC گذاشتم کامل حل شد :biggrin:
    دقت کردین تو مهمونیا یه کیوی رو وقتی با پوست میخورین چه جور نگاتون میکنن.!!!!

    هيچگاه چيزي را خوب نمي فهمي، مگر اينكه بتواني آن را براي مادربزرگت شرح دهي!((آلبرت انيشتين))
  4. #4
    2008/01/23
    402
    15
    sma

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    آیا این نتیجه گیری درستیه ؟
    برای استفاده از اینتراپت خارجی یا وقفه GPIO راهی به جز استفاده از rc خارجی نداریم !
    یعنی خطا به صورت نرم افزاری به هیچ وجه قابل رفع نیست .
    إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
    کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)
  5. #5
    2010/06/05
    237
    18

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    سلام،
    شما هر کاری کنی وقتی یک کلید مکانیکی زده بشه بانس به وجود میاد،که یا با تاخیر یا با فیلتر می تونید حذفش کنید!
    حالا اگر شما در وقفه خودتون تاخیر در حد 50 میلی ثانیه داشته باشید این بانس دیگه دیده نمیشه!
    برای glitch filter هم می تونید اینجا یه نگاه بندازید:
    http://****************/showthread.php?706-glitch-filter-%DA%86%DB%8C%D8%B3%D8%AA-%D9%88-%DA%86%D9%87-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D8%AF%D8%A7%D8%B1%D8%AF%D8%9F
    هر انسانی که احساس بی نیازی کند سرکش و طغیان گر می شود...
  6. #6
    2008/01/23
    402
    15
    sma

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    نقل قول نوشته اصلی توسط حمید لطفعلی زاده
    سلام،
    شما هر کاری کنی وقتی یک کلید مکانیکی زده بشه بانس به وجود میاد،که یا با تاخیر یا با فیلتر می تونید حذفش کنید!
    حالا اگر شما در وقفه خودتون تاخیر در حد 50 میلی ثانیه داشته باشید این بانس دیگه دیده نمیشه!
    وقفه ما به لبه حساسه ، یا بالا رونده یا پایین رونده
    کلید هم در هنگام وصل شدن بانس ایجاد میکنه و هم در هنگام قطع شدن
    تاخیر 50 میلی اون بانس اولیه رو حذف میکنه . ولی وقتی کلید داره قطع میشه هم بانس ایجاد میشه و باز هم وقفه صادر میشه . این قسمت دوم رو چجوری میشه نرم افزاری حلش کرد ؟
    إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
    کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)
  7. #7
    2010/06/05
    237
    18

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    این دیگه بستگی به الگوریتم هایی داره که شما استفاده می کنید!
    می تونید مثلا وقفه رو دو مرحله ای کنید، در نظر بگیرید کلید پول پ هستش، شما کلید رو که میزنید لبه پایین رونده ایجاد می کنید، رها که می کنید لبه بالا رونده، شما لبه بالا رونده رو هم وقفه بدید و هیچ کاری نکنید وفقط تغییر لبه رو در وقفه تنظیم کنید.
    هر انسانی که احساس بی نیازی کند سرکش و طغیان گر می شود...
  8. #8
    2008/01/23
    402
    15
    sma

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    نقل قول نوشته اصلی توسط حمید لطفعلی زاده
    این دیگه بستگی به الگوریتم هایی داره که شما استفاده می کنید!
    می تونید مثلا وقفه رو دو مرحله ای کنید، در نظر بگیرید کلید پول پ هستش، شما کلید رو که میزنید لبه پایین رونده ایجاد می کنید، رها که می کنید لبه بالا رونده، شما لبه بالا رونده رو هم وقفه بدید و هیچ کاری نکنید وفقط تغییر لبه رو در وقفه تنظیم کنید.
    من نمیخوام تو لبه بالا رونده وقفه داشته باشم.
    ولی بانس باعث میشه تو لبه بالا رونده وقفه صادر بشه( دقت کنید من فقط لبه پایین رونده رو فعال کردم ). راه حل نرم افزاری چیزی به ذهنم نمیرسه !
    إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
    کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)
  9. #9
    2010/06/05
    237
    18

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    دوست عزیز شما می گین بانس در موقع رها کردن کلید باز هم لبه پایین رونده ایجاد می کنه، من میگم در لحظه رها کردن کلید اولین لبا بالا رونده هستش پس اون رو بخونید و کمی صبر کنید و بعد دوباره سیستم رو در لبه پایین رونده ست کنید.
    این راه نرم افزاریه سخت افزاری هم با یک فیلتر RC می تونید درستش کنید.
    البته راه های نرم افزاری دیگه ای هم ممکنه وجود داشته باشه.
    هر انسانی که احساس بی نیازی کند سرکش و طغیان گر می شود...
  10. #10
    2014/03/18
    53
    0

    پاسخ : مشکل عملي با هر دو وقفه gpio و خارجي.

    سلام
    ميشه بگيد که تو برنامه پايين وقتي وقفه مياد چرا ;(GPIO_SetDir(2,1<<0,1 کار نميکنه؟
    مشکلي تو برنامه هست؟
    کد:
    #include "lpc17xx_gpio.h"
    #include "lpc17xx_pinsel.h"
    #include "lpc17xx_exti.h"
    
    uint8_t d = 50;
    
    void delay (uint32_t Time)
    {
      uint32_t i;
      
      i = 0;
      while (Time--) {
        for (i = 0; i < 5000; i++);
      }
    }
    
    
    void EINT0_IRQHandler(void)
    {
    	GPIO_SetDir(2,1<<0,1);
    	GPIO_SetValue(2,1<<0);
    	delay(100);
    	GPIO_ClearValue(2,1<<0);
    	delay(100);
     EXTI_ClearEXTIFlag(EXTI_EINT0);	
    }
    
    //*******************************************************
    int main (void)
    {	  		
     uint8_t location,d = 50;
     // ---------------- Configuration ---------------	
    //  GPIO_SetDir(2, 0xff, 1);  //LPC_GPIO2->FIODIR = 0xff;
    //  GPIO_ClearValue(2, 0x0ff); //LPC_GPIO2->FIOCLR = 0xff;
    	GPIO_SetDir(2,1<<0,1);
    	PINSEL_CFG_Type PinCfg;
    	EXTI_InitTypeDef EXTICfg;
    	
    	/* Setting P2.10 as EINT0 */
    	PinCfg.Funcnum = 1;
    	PinCfg.OpenDrain = 0;
    	PinCfg.Pinmode = 0;
    	PinCfg.Pinnum = 10;
    	PinCfg.Portnum = 2;
    	PINSEL_ConfigPin(&PinCfg);
    
    
    	/* Initialize External 0 interrupt */
    	EXTI_Init();
    	EXTICfg.EXTI_Line = EXTI_EINT0;
    	/* level sensitive */
    	EXTICfg.EXTI_Mode = EXTI_MODE_EDGE_SENSITIVE;
    	//EXTICfg.EXTI_Mode = EXTI_MODE_LEVEL_SENSITIVE;
    	EXTICfg.EXTI_polarity = EXTI_POLARITY_LOW_ACTIVE_OR_FALLING_EDGE;
    	//EXTICfg.EXTI_polarity = EXTI_POLARITY_HIGH_ACTIVE_OR_RISING_EDGE;
    	EXTI_Config(&EXTICfg);
    	
    	
     
    	
    
     NVIC_EnableIRQ(EINT0_IRQn);
    	
      while(1){
     
    	 }
    }
نمایش نتایج: از 1 به 10 از 10

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

  1. وقفه gpio , کلید ؟؟
    توسط sma در انجمن NXP
    پاسخ: 6
    آخرين نوشته: 2015/06/29, 14:51
  2. تداخل وقفه خارجي و وقفه تايمر 0
    توسط sajad7 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2014/11/22, 21:03
  3. مشکل در استفاده همزمان از دو وقفه خارجي
    توسط sadeqkiller در انجمن میکروکنترلرهای AVR
    پاسخ: 10
    آخرين نوشته: 2014/05/07, 08:57
  4. مشکل با وقفه خارجي در مگا 64
    توسط abritco در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2013/12/27, 14:38
  5. مشکل با وقفه خارجي
    توسط sara789 در انجمن میکروکنترلرهای AVR
    پاسخ: 11
    آخرين نوشته: 2012/07/02, 18:11

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

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

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

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

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