stm32h743模拟编码器信号输出

1、使用STM32CubeMX配置定时器


  while (1)
  {
HAL_Delay(1000);  //延时1S
htim1.Init.RepetitionCounter=puleNum;//输出次数
htim1.Init.Period=fPuARR; //修改周期值,改变频率
pul1 = fPuARR/4;
htim1.Instance->CCR1=pul1; //通道1是25%占空比 
htim1.Instance->CCR2=pul1*3; //通道2是75%占空比

HAL_TIM_PWM_Init(&htim1);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);

  }

输出次数是0的输出波形

次数1

次数2

次数3

次数4

说明:配置的相位是高,这里做了反相,所以开始是高电压,开始后是低电压开始计数,到25%的ARR时A相跳变,75%时B相跳变,当偶数次的跳变会形成一个脉冲,奇数次时AB相会有一个同时变化的开始电压跳变。

htim1.Instance->CCR1=pul1; //通道1是25%占空比 
htim1.Instance->CCR2=pul1*3; //通道2是75%占空比

互换上面的CCR的值,编码器输出反转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值