#include "stdbool.h" #include "stm32f10x.h" #include "cmsis_os.h" /******************************** 功能说明 ************************************* * TIM5->CH3 控制 *******************************************************************************/ void TIM5_CH3_CTRL(uint16_t ARRValue, uint16_t CCRValue ) { TIM5->ARR = ARRValue; // 设置预装载 TIM5->CCR3 = CCRValue; // 设置翻转值 } /******************************** 功能说明 ************************************* * TIM5->CH3 PWM开关 *******************************************************************************/ void TIM5_CH3_CMD( _Bool CMD ) { if( CMD ) { SET_BIT( TIM5->CR1,TIM_CR1_CEN ); SET_BIT( TIM5->CCER,TIM_CCER_CC3E ); } else { CLEAR_BIT( TIM5->CCER,TIM_CCER_CC3E ); CLEAR_BIT( TIM5->CR1,TIM_CR1_CEN ); } } /******************************** 功能说明 ************************************* * DIR *******************************************************************************/ /******************************** 功能说明 ************************************* * *******************************************************************************/ void TIM5_IECMD( _Bool CMD ) { if( CMD ) { SET_BIT(TIM5->DIER, TIM_DIER_CC3IE); // 使能中断 CLEAR_BIT( TIM5->SR, TIM_SR_UIF | TIM_SR_CC3IF ); // 清除中断标记 } else { CLEAR_BIT(TIM5->DIER,TIM_DIER_CC3IE); // 失能中断 CLEAR_BIT( TIM5->SR, TIM_SR_UIF | TIM_SR_CC3IF ); // 清除中断标记 } } /******************************** 功能说明 ************************************* * TIM3->CH1 控制 *******************************************************************************/ void TIM3_CH1_CTRL(uint16_t ARRValue, uint16_t CCRValue ) { TIM3->ARR = ARRValue; // 设置预装载 TIM3->CCR1 = CCRValue; // 设置翻转值 } /******************************** 功能说明 ************************************* * TIM3->CH1 PWM开关 *******************************************************************************/ void TIM3_CH1_CMD( _Bool CMD ) { if( CMD ) { SET_BIT( TIM3->CR1,TIM_CR1_CEN ); SET_BIT( TIM3->CCER,TIM_CCER_CC1E ); } else { CLEAR_BIT( TIM3->CCER,TIM_CCER_CC1E ); CLEAR_BIT( TIM3->CR1, TIM_CR1_CEN ); } } /******************************** 功能说明 ************************************* * DIR *******************************************************************************/ //void TIM4_CH1_DIR( _Bool CMD ) //{ // if( CMD ) // { // GPIO_SetBits( GPIOD, GPIO_ODR_ODR13 ); // } // else // { // GPIO_ResetBits( GPIOD, GPIO_ODR_ODR13 ); // } //} /******************************** 功能说明 ************************************* * *******************************************************************************/ void TIM3_IECMD( _Bool CMD ) { if( CMD ) { SET_BIT(TIM3->DIER, TIM_DIER_CC1IE); // 使能中断 CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // 清除中断标记 } else { CLEAR_BIT(TIM3->DIER,TIM_DIER_CC1IE); // 失能中断 CLEAR_BIT( TIM3->SR, TIM_SR_UIF | TIM_SR_CC1IF ); // 清除中断标记 } } /******************************** 功能说明 ************************************* * TIM2->CH2 控制 *******************************************************************************/ void TIM2_CH2_CTRL(uint16_t ARRValue, uint16_t CCRValue ) { TIM2->ARR = ARRValue; // 设置预装载 TIM2->CCR2 = CCRValue; // 设置翻转值 } /******************************** 功能说明 ************************************* * TIM2->CH2 PWM开关 *******************************************************************************/ void TIM2_CH2_CMD( _Bool CMD ) { if( CMD ) { SET_BIT( TIM2->CR1,TIM_CR1_CEN ); SET_BIT( TIM2->CCER,TIM_CCER_CC2E ); } else { CLEAR_BIT( TIM2->CCER,TIM_CCER_CC2E ); CLEAR_BIT( TIM2->CR1, TIM_CR1_CEN ); } } /******************************** 功能说明 ************************************* * DIR *******************************************************************************/ //void TIM4_CH1_DIR( _Bool CMD ) //{ // if( CMD ) // { // GPIO_SetBits( GPIOD, GPIO_ODR_ODR13 ); // } // else // { // GPIO_ResetBits( GPIOD, GPIO_ODR_ODR13 ); // } //} /******************************** 功能说明 ************************************* * *******************************************************************************/ void TIM2_IECMD( _Bool CMD ) { if( CMD ) { SET_BIT(TIM2->DIER, TIM_DIER_CC2IE); // 使能中断 CLEAR_BIT( TIM2->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // 清除中断标记 } else { CLEAR_BIT(TIM2->DIER,TIM_DIER_CC2IE); // 失能中断 CLEAR_BIT( TIM2->SR, TIM_SR_UIF | TIM_SR_CC2IF ); // 清除中断标记 } }