http://blog.sina.com.cn/s/blog_8240cbef01018dgc.html
2013
/
定時(shí)器1的配置 輸出兩路PWM信號 PA8 PA11
計數時(shí)鐘為400KHZ 計數溢出大小為40000 /
void Tim1Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStruct;
TIM_OCInitTypeDef TIM_OCInitStruct;
u16LeftMotor_CCR;
u16 RightMotor_CCR;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1
| RCC_APB2Periph_GPIOA
| RCC_APB2Periph_AFIO, ENABLE);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_11 ; // 定時(shí)器1通道1和4
GPIO_InitStruct.GPIO_Mode =GPIO_Mode_AF_PP;
GPIO_InitStruct.GPIO_Speed =GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);
LeftMotor_CCR = RightMotor_CCR = 2000;
//在A(yíng)PB2設置為72MHZ的基礎上,對定時(shí)器1進(jìn)行配置
TIM_TimeBaseInitStruct.TIM_RepetitionCounter =0; //重復計數器無(wú)效*/
TIM_TimeBaseInitStruct.TIM_CounterMode =TIM_CounterMode_Up; // 向上計數 */
TIM_TimeBaseInitStruct.TIM_ClockDivision =TIM_CKD_DIV1; //時(shí)鐘分頻 */
TIM_TimeBaseInitStruct.TIM_Prescaler =180-1; // 預分頻系數為180-1,計數器時(shí)鐘為72MHz/180 = 400KHz*/
TIM_TimeBaseInitStruct.TIM_Period =40000-1; //1)設置計數溢出大小,每計40000個(gè)數就產(chǎn)生一個(gè)更新事件,
2)捕獲比較器的值不能大于此值
3)計數器時(shí)鐘400KHZ,每個(gè)更新事件為100ms,即脈沖周期為0.1S
*/
TIM_TimeBaseInit(TIM1,&TIM_TimeBaseInitStruct);
TIM_OCInitStruct.TIM_OutputNState =TIM_OutputNState_Disable;
TIM_OCInitStruct.TIM_OCMode =TIM_OCMode_PWM2;
TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_Low;
TIM_OCInitStruct.TIM_Pulse =LeftMotor_CCR;
TIM_OC1Init(TIM1, &TIM_OCInitStruct);
TIM_OCInitStruct.TIM_Pulse =RightMotor_CCR;
TIM_OC4Init(TIM1, &TIM_OCInitStruct);
TIM_Cmd(TIM1, ENABLE);
TIM_CtrlPWMOutputs(TIM1, ENABLE);
}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。