اطلاعیه

Collapse
No announcement yet.

نحوه کانفیگ کردن pwm با cmsis در IAR

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    نحوه کانفیگ کردن pwm با cmsis در IAR

    دوستان میخام pwm رو با اس تس ام راه اندازی کنم.چند راه رو رفتم ولی هنوز نتونستم.
    کسی از دوستان هست که بتونه راهنماییم کنه؟؟
    اینم کد
    ممنونم.
    stm32f103re


    کد:
    #include "stm32f10x.h"
    #include "stm32f10x_gpio.h"  // for Enable LCD
    #include "stm32f10x_rcc.h"   //for Enable LCD
    #include "stm32f10x_tim.h"
    #include "LCDLib.h"
    #include "delay.h"
    
    
    void tim_init(void);
    void GPIO_init(void);
    
    
    int main()
    {
     
      lcd_init();
      lcdPutString ("Believe Your Dreams.");  
      tim_init();
      GPIO_init();
      
      while(1){
      
        
      }  
      
    }
    
    
    void tim_init(){    
      
      
      RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
      TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
      TIM_OCInitTypeDef  TIM_OCInitStructure;  
      
      TIM_TimeBaseStructure.TIM_Prescaler = 8;
      TIM_TimeBaseStructure.TIM_Period = 500;  
      TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
      TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
      TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
      
      TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
      TIM_Cmd(TIM3, ENABLE);
      
        
      TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
      TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
      TIM_OCInitStructure.TIM_Pulse = 400;
      TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
      
      TIM_OC4Init(TIM3, &TIM_OCInitStructure);
      TIM_OC4PreloadConfig(TIM3, TIM_OCPreload_Enable);
    
      //GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_TIM4);
      
    }
    
    
    void GPIO_init(void){
      
      
      RCC_APB2PeriphClockCmd ( RCC_APB2Periph_GPIOC, ENABLE );  
      
      GPIO_InitTypeDef gpioAa;     
      gpioAa.GPIO_Mode = GPIO_Mode_AF_PP ;
      gpioAa.GPIO_Pin = GPIO_Pin_9;
      gpioAa.GPIO_Speed = GPIO_Speed_50MHz;  
      GPIO_Init( GPIOC,  &gpioAa );
      
      
    }
    به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
    (پيش به سوي هدف)

    #2
    پاسخ : نحوه کانفیگ کردن pwm با cmsis در IAR

    سلام سال نو مبارک.
    شما این دستور رو به انتهای تنظیمات تایمر اظافه کن و یه بار دیگه تست کن . TIM_ARRPreloadConfig(TIM3, ENABLE);

    دیدگاه


      #3
      پاسخ : نحوه کانفیگ کردن pwm با cmsis در IAR

      نوشته اصلی توسط mousa1994 نمایش پست ها
      سلام سال نو مبارک.
      شما این دستور رو به انتهای تنظیمات تایمر اظافه کن و یه بار دیگه تست کن . TIM_ARRPreloadConfig(TIM3, ENABLE);
      باید فرکانس کاری AF رو فعال میکردم و برای تایمر سه هم میاومد پین مربوطه رو remap میکردم. که درست شد.
      از شما هم ممنونم.
      به سمت نور خورشيد حرکت کن،تو ميتوني تابش خورشيد رو حس کني ،حتي اگه کور باشي.
      (پيش به سوي هدف)

      دیدگاه


        #4
        پاسخ : نحوه کانفیگ کردن pwm با cmsis در IAR

        سلام و وقت بخیر
        من دقیقا از این کد و میکرو استفاده میکنم و در تولید PWM به مشکل خوردم
        ممکن کد اصلاح شده را نیز ارسال کنید؟

        دیدگاه

        لطفا صبر کنید...
        X