stm32f103 timer1产生400HzPWM
来源:互联网 发布:安卓转发小视频源码 编辑:程序博客网 时间:2024/05/29 19:48
/*timer1时钟为72MHz,产生400Hz,占空比为60%的PWM*/void Bsp_Motor_PWM_Init(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_OCInitTypeDef TIM_OCInitStruct; GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 | RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStruct); TIM_TimeBaseInitStruct.TIM_Period = 59999; /*400Hz(2.5ms) */ TIM_TimeBaseInitStruct.TIM_Prescaler = 2; TIM_TimeBaseInitStruct.TIM_ClockDivision = 0; TIM_TimeBaseInitStruct.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseInitStruct); TIM_OCStructInit(&TIM_OCInitStruct);/*这一步最好加上*/ TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStruct.TIM_Pulse = 36000; TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM1, &TIM_OCInitStruct); TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM1, ENABLE); TIM_CtrlPWMOutputs(TIM1, ENABLE);/*这一个函数只针对timer1和timer8*/ TIM_Cmd(TIM1, ENABLE); }
0 0
- stm32f103 timer1产生400HzPWM
- timer1
- STM32F103产生伪随机数
- CC2541 Timer1 不能正常分频产生正确的 PWM
- 【STM32】STM32之timer1产生PWM(互补通道)
- STM32F103
- pic timer1定时器
- stm32 timer1/pwm 笔记!
- STM32 Timer1 TIM1 中断
- STM8 Timer1基本定时
- timer1和progressBar1
- 【BLE】CC2541之timer1
- AB1601定时器timer0,timer1简介
- stm32f103学习心得
- STM32F103汇总
- STM32F103参考资料
- STM32F103--BKP
- STM32F103: NRF24L01
- redis字符串类型操作
- iOS button边框
- shell变量中再包含变量的情况!
- 所谓经验,多半扯淡
- uninx常用命令
- stm32f103 timer1产生400HzPWM
- 大话设计模式——学习方法、总结方法体悟
- JIRA安装破解
- 客户端跳转与服务器端跳转
- CV机枪手opencv3(一)——模块结构解析
- Java基础——集合
- GPS坐标单位(度分秒)的换算方法
- Java POI 写入Excel
- 高并发二级缓存的简单实现