STM32的TIM1_CH1N反向引脚输出PWM波.txt

50 篇文章 98 订阅 ¥9.90 ¥99.00
19 篇文章 21 订阅
PB14 PB15是STM32的TIM1的反向引脚


L11 H8 F2 35 53 75 PB14 I/O FT PB14 SPI2_MISO/TIM1_CH2N
USART3_RTS(8)/
L12 G8 F1 36 54 76 PB15 I/O FT PB15 SPI2_MOSI/I2S2_SD
TIM1_CH3N(8)/
可以输出PWM波
极性与TIM1_CH相反。


代码如下




/**
  ******************************************************************************
  * @file    motor.c
  * @author  STMicroelectronics
  * @version V1.0
  * @date    2016.2.2
  * @brief   聚焦电机控制
  ******************************************************************************
  * @attention
1000hz
20%占空比
  ******************************************************************************
  */
  
#include "IRFocusMotor.h" 
#include "gpio_array.h"
 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是基本步骤: 1. 首先需要开启TIM5时钟。 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); 2. 然后设置TIM5的时基,这里我们选择PWM模式。 TIM_TimeBaseStructure.TIM_Period = 999; //设置计数器自动重装值 TIM_TimeBaseStructure.TIM_Prescaler = 71; //设置预分频值 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //计数器向上计数 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //时钟分频因子 TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; //重复计数器值 TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure); //初始化TIM5 3. 接下来配置TIM5通道2输出PWM信号。 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //PWM模式1 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //允许输出 TIM_OCInitStructure.TIM_Pulse = 500; //脉冲宽度 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性 TIM_OC2Init(TIM5, &TIM_OCInitStructure); //初始化TIM5通道2 4. 最后开启TIM5计数器即可。 TIM_Cmd(TIM5, ENABLE); 完整示例代码如下: ```c #include "stm32f10x.h" int main(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); //开启TIM5时钟 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; //设置TIM5的时基,这里我们选择PWM模式 TIM_TimeBaseStructure.TIM_Period = 999; //设置计数器自动重装值 TIM_TimeBaseStructure.TIM_Prescaler = 71; //设置预分频值 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //计数器向上计数 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //时钟分频因子 TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; //重复计数器值 TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure); //初始化TIM5 //配置TIM5通道2输出PWM信号 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //PWM模式1 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //允许输出 TIM_OCInitStructure.TIM_Pulse = 500; //脉冲宽度 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //输出极性 TIM_OC2Init(TIM5, &TIM_OCInitStructure); //初始化TIM5通道2 TIM_Cmd(TIM5, ENABLE); //开启TIM5计数器 while(1) { //可以在这里修改TIM5通道2的脉冲宽度 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kobesdu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值