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





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









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









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






جهت تبلیغ در وب سایت ECA کلیک کنید.

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

نمایش نتایج: از 1 به 6 از 6

موضوع: اینتراپت

  1. #1
    2014/08/28
    210
    4

    اینتراپت

    سلام
    دوستان اینتراپت رو برای تایمر باید چجوری راه انداخت؟
    ایا یه رجیستر عمومی فعال سازی هم داره؟ اگه اینطور هست اسم اون رجیستر چیه؟
    با تشکر
    یاعلی مدد
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  2. #2
    2011/07/31
    504
    30

    پاسخ : اینتراپت

    یک مثال از اینتراپت تایمر البته در کیل به بروش ریجیستر نویسی.
    کد:
    #include "stm32f10x.h"
    char i=0;
    
    void TIM1_UP_IRQHandler (void) {
    
     if ((TIM1->SR & 0x0001) != 0) {         // check interrupt source
     i=~i;  
    		TIM1->SR &= ~(1<<0);             // clear UIF flag
    
    	GPIOB->ODR=i;	
    	}
    }
    
    
    
    int main(void) {
    
    	RCC->APB2ENR=RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_TIM1EN ;   // GPIOA,b,c Enable Clock 
    
    	TIM1->EGR=TIM_EGR_UG;
    TIM1->CR2=0X100;
    TIM1->PSC=1;	
    TIM1->ARR=0x100;
    
    	TIM1->RCR=5;
    	TIM1->CR1= TIM_CR1_CEN | TIM_CR1_ARPE ;//TIM_CR1_CEN		
    TIM1->DIER= TIM_DIER_UIE ;//enable interrupt
    
    //--------------------------------------------------------------------------------------------------------------------	 
    	 GPIOB->CRL=1;					
     GPIOB->ODR=0;    ////////////////--------=============================
     NVIC_EnableIRQ(TIM1_UP_IRQn);//EXTI15_10_IRQn  
    	while(1){
    
    		//while (!(TIM1->SR & TIM_SR_UIF));
      // TIM1->SR = 0;//TIM_SR_UIF;
    		//GPIOB->ODR=1;
    			//	while (!(TIM1->SR & TIM_SR_UIF));
      //TIM1->SR = 0;//TIM_SR_UIF;
    	//	GPIOB->ODR=0;
    		
    	
    	}
    
    }
  3. #3
    2014/08/28
    210
    4

    پاسخ : اينتراپت

    نقل قول نوشته اصلی توسط ي نفر
    يک مثال از اينتراپت تايمر البته در کيل به بروش ريجيستر نويسي.
    کد:
    #include "stm32f10x.h"
    char i=0;
    
    void TIM1_UP_IRQHandler (void) {
    
     if ((TIM1->SR & 0x0001) != 0) {         // check interrupt source
     i=~i;  
    		TIM1->SR &= ~(1<<0);             // clear UIF flag
    
    	GPIOB->ODR=i;	
    	}
    }
    
    
    
    int main(void) {
    
    	RCC->APB2ENR=RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_TIM1EN ;   // GPIOA,b,c Enable Clock 
    
    	TIM1->EGR=TIM_EGR_UG;
    TIM1->CR2=0X100;
    TIM1->PSC=1;	
    TIM1->ARR=0x100;
    
    	TIM1->RCR=5;
    	TIM1->CR1= TIM_CR1_CEN | TIM_CR1_ARPE ;//TIM_CR1_CEN		
    TIM1->DIER= TIM_DIER_UIE ;//enable interrupt
    
    //--------------------------------------------------------------------------------------------------------------------	 
    	 GPIOB->CRL=1;					
     GPIOB->ODR=0;    ////////////////--------=============================
     NVIC_EnableIRQ(TIM1_UP_IRQn);//EXTI15_10_IRQn  
    	while(1){
    
    		//while (!(TIM1->SR & TIM_SR_UIF));
      // TIM1->SR = 0;//TIM_SR_UIF;
    		//GPIOB->ODR=1;
    			//	while (!(TIM1->SR & TIM_SR_UIF));
      //TIM1->SR = 0;//TIM_SR_UIF;
    	//	GPIOB->ODR=0;
    		
    	
    	}
    
    }
    با تشکر از پاسخ شما
    مهندس در روتين وقفتون اون if رو به چه منظوري نوشتين؟ خب در لحظه سرريز flag مربوطه 1 ميشه و وارد روتين وقفه مون ميشم.

    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  4. #4
    2009/09/25
    اصفهان
    814
    45

    پاسخ : اینتراپت

    اگه حال داری مبحث
    Nvic رو مطالعه کن
    هميشه به ياد خدا باش !
  5. #5
    2014/08/28
    210
    4

    پاسخ : اینتراپت

    نقل قول نوشته اصلی توسط DDR3
    اگه حال داری مبحث
    Nvic رو مطالعه کن
    منهدس سوال من اینجاست که اینتراپت رخ بده ، flag مربوطه 1 میشه. چه نیازی به چک کردنش بوده. وقتی وارد روتین شد. کد اجرا میشد
    در کشور هاي غربي انتقال تجربيات و دانش به افراد مبتدي يک پيشرفت محسوب شده و به آن مديريت دانش مي گويند. ولي متاسفانه اين فرهنگ هنوز در کشور ايران رايج نشده است !!!
  6. #6
    2011/07/31
    504
    30

    پاسخ : اینتراپت

    نقل قول نوشته اصلی توسط sejil
    منهدس سوال من اینجاست که اینتراپت رخ بده ، flag مربوطه 1 میشه. چه نیازی به چک کردنش بوده. وقتی وارد روتین شد. کد اجرا میشد
    اگه درس یادم باشه چنتا اتفاق تایمری وقفه هاشون مشترکن.بخاطر همین باید پرچم چک بشه.
    و همچنین این پرچم باید نرم افزاری نیز پاک بشه.
نمایش نتایج: از 1 به 6 از 6

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

  1. مشکل با اینتراپت !!!
    توسط rezamajdi در انجمن میکروکنترلرهای AVR
    پاسخ: 21
    آخرين نوشته: 2016/02/06, 19:24
  2. اینتراپت
    توسط stooy در انجمن میکروکنترلرهای AVR
    پاسخ: 8
    آخرين نوشته: 2015/08/21, 13:41
  3. اینتراپت
    توسط SILVER MAN در انجمن میکروکنترلرهای AVR
    پاسخ: 30
    آخرين نوشته: 2013/12/31, 14:08
  4. اینتراپت
    توسط reza kazemi1368 در انجمن پروسسورهای ARM
    پاسخ: 10
    آخرين نوشته: 2012/04/14, 21:57
  5. اینتراپت
    توسط aparsa در انجمن رباتيك و مكاترونيك
    پاسخ: 3
    آخرين نوشته: 2009/09/27, 09:27

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

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

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

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

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