stm32f103使用TIM1和TIM2输出PWM
来源:互联网 发布:mysql分类汇总 编辑:程序博客网 时间:2024/05/01 18:38
摘要
TIM1和TIM2的配置代码
TIM1的注意事项
直接上代码
void pwm_TIM1_init(){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 设置GPIO功能: TIM1_CH1,TIM1_CH4 GPIO_InitTypeDef cfg_gpio; cfg_gpio.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_11; cfg_gpio.GPIO_Mode = GPIO_Mode_AF_OD; cfg_gpio.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOA, &cfg_gpio); // // 复位定时器。 TIM_DeInit(TIM1); // // 配置计时器。 TIM_TimeBaseInitTypeDef param; TIM_TimeBaseStructInit(¶m); param.TIM_Prescaler = ESC_PSC; param.TIM_Period = 72000; param.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM1,¶m); // // 配置PWM。 TIM_OCInitTypeDef pwmParam; TIM_OCStructInit(&pwmParam); pwmParam.TIM_OCMode = TIM_OCMode_PWM1; pwmParam.TIM_OutputState = TIM_OutputState_Enable; pwmParam.TIM_Pulse = MOTOR_CCR_MIN; pwmParam.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM1,&pwmParam); TIM_OC4Init(TIM1,&pwmParam); TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable); // // 启动计时器。 TIM_CtrlPWMOutputs(TIM1, ENABLE);//@@ TIM_Cmd(TIM1,ENABLE); // TIM_SetCompare1(TIM1,0); TIM_SetCompare4(TIM1,72000);}
void pwm_TIM2_init(){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 设置GPIO功能: TIM2_CH1,TIM2_CH2,TIM2_CH3,TIM2_CH4 GPIO_InitTypeDef cfg_gpio; cfg_gpio.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; cfg_gpio.GPIO_Mode = GPIO_Mode_AF_PP; cfg_gpio.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOA, &cfg_gpio); // // 复位定时器。 TIM_DeInit(TIM2); // // 配置计时器。 TIM_TimeBaseInitTypeDef param; TIM_TimeBaseStructInit(¶m); param.TIM_Prescaler = ESC_PSC; param.TIM_Period = 72000; // param.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2,¶m); // // 配置PWM。 TIM_OCInitTypeDef pwmParam; TIM_OCStructInit(&pwmParam); pwmParam.TIM_OCMode = TIM_OCMode_PWM1; pwmParam.TIM_OutputState = TIM_OutputState_Enable; pwmParam.TIM_Pulse = MOTOR_CCR_MIN; pwmParam.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM2,&pwmParam); TIM_OC2Init(TIM2,&pwmParam); TIM_OC3Init(TIM2,&pwmParam); TIM_OC4Init(TIM2,&pwmParam); TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable); // // 启动计时器。 TIM_Cmd(TIM2,ENABLE); // TIM_SetCompare1(TIM2,0); TIM_SetCompare2(TIM2,720); TIM_SetCompare3(TIM2,7200); TIM_SetCompare4(TIM2,720000);}
除了gpio不同外,TIM1多了TIM_CtrlPWMOutputs(TIM1, ENABLE);
0 0
- stm32f103使用TIM1和TIM2输出PWM
- 有关STM32f103增强型定时器(TIM1,TIM8)输出PWM(互补加死区)
- STM8 tim1 ch1 PWM输出
- STM32 PWM输出总结 TIM1
- STM32F407 关于TIM1输出PWM
- STM32F4 定时器TIM1输出七路PWM信号【使用库函数】
- STM32F4 定时器TIM1输出七路PWM信号【使用库函数
- STM32F107高级定时器TIM1使用互补PWM输出
- STM8S TIM2 输出PWM初始化函数
- stm32定时器TIM2的PWM输出PB3
- STM32 TIM1的PWM没有输出
- STM32F4 TIM1 7路PWM信号输出
- STM32 TIM1 做PWM输出问题
- stm32 基于TIM1定时器的PWM输出
- stm32f0 TIM1实现输出PWM波形
- STM8S---TIM2产生PWM与TIM1定时器周期中断的时钟问题
- STM8S TIM1/TIM2 初始化函数
- STM32 TIM2通道重映射 PWM 无输出波形
- 166.Nth to Last Node in List-链表倒数第n个节点(容易题)
- 如何使用MongoDB自带的json库来反序列json字符串
- Winmanager,NERDTree和MiniBufExplorer
- WOJ1017-Billiard Ball
- Android 软键盘弹出时布局内指定内容上移实现及问题解决
- stm32f103使用TIM1和TIM2输出PWM
- SpringMVC+mybatis中实体类字段名与数据库字段名不匹配问题
- epoll 的accept , read, write(重要)
- GenerateParenthes——22
- 数据库的原理,一篇文章搞定(一)
- 使用Tesseract OCR Engine识别图片文字
- doxygen从c++注释生成设计说明
- 安卓UI图px标注适配方案:批量转化px为dp
- hadoop fs 命令