اطلاعیه

Collapse
No announcement yet.

راه اندازی PWM توسط کتابخانه CMSIS

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

    راه اندازی PWM توسط کتابخانه CMSIS

    با سلام خدمت تمامی مهندسین
    من میخواستم با استفاده از کتابخانه CMSIS و توسط میکرو کنترلر STM32F107RCT6(64PIN) و با کامپایلر KEIL یه سروو موتورو درایور کنم
    مجبور هستم که یه موج با فرکانس 1khz و با عرض پالس متقییر بین 2ms , 1ms تولید کنم .
    ممنون میشم اگر کسی کار کرده راهنماییم کنه .

    TIM_OCInitTypeDef TIM_OCInitStructure;
    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
    TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
    TIM_DeInit(TIM1);

    TIM_TimeBaseInitStructure.TIM_Period = 0x0000;
    TIM_TimeBaseInitStructure.TIM_Prescaler =0x0001;
    TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CK D_DIV4;
    TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;
    TIM_TimeBaseInitStructure.TIM_RepetitionCounter=EN ABLE;
    TIM_TimeBaseInit(TIM1, &TIM_TimeBaseInitStructure);


    TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
    TIM_OCInitStructure.TIM_OutputState=TIM_OutputStat e_Enable;
    TIM_OCInitStructure.TIM_OutputNState=TIM_OutputNSt ate_Enable;
    TIM_OCInitStructure.TIM_Pulse=0x0000;
    TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_ Low;
    TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarit y_Low;
    TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleStat e_Set;
    TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCNIdleSt ate_Reset;
    TIM_OC1Init(TIM1,&TIM_OCInitStructure);



    TIM_BDTRInitStructure.TIM_OSSRState=TIM_OSSRState_ Enable;
    TIM_BDTRInitStructure.TIM_OSSIState=TIM_OSSIState_ Enable;
    TIM_BDTRInitStructure.TIM_LOCKLevel=TIM_LOCKLevel_ 1;
    TIM_BDTRInitStructure.TIM_DeadTime=0x0001;
    TIM_BDTRInitStructure.TIM_Break=TIM_Break_Disable;
    TIM_BDTRInitStructure.TIM_BreakPolarity=TIM_BreakP olarity_High;
    TIM_BDTRInitStructure.TIM_AutomaticOutput=TIM_Auto maticOutput_Enable;
    TIM_BDTRConfig(TIM1,&TIM_BDTRInitStructure);

    TIM_Cmd(TIM1 ,ENABLE);
    TIM_CtrlPWMOutputs(TIM1,ENABLE);


    مهندسین محترم اینارو هم نوشتم اما خوب خیلی کم ازش سر در میارم
لطفا صبر کنید...
X