stmcubemx 脉冲计数_使用定时器计数STM32F7上的脉冲

本文介绍了如何使用STM32CubeMX配置STM32F7来实现脉冲计数。通过设置外部触发输入(ETR)作为步进电机的输出信号,每当上升或下降沿发生时,定时器中断会增加脉冲计数。提供了从配置GPIO到设置定时器中断的具体代码示例,确保了脉冲计数的准确性。
摘要由CSDN通过智能技术生成

我和步进电机有类似的问题。我为(DRV8825,A4899芯片)制作了一个步进驱动程序代码,代码是基于iRQ的,并且有电机加速,速度等数学。但我必须测试它是否准确,所以我不得不计算步数。

对于测试案例,我将具体引脚配置为ETR(外部触发输入) - 它是输入引脚,我的步进输出引脚转到该输入,(当然也是电机)。每个上升或下降沿(取决于配置)都会产生一个irq,所以在irq我可以设置步数计数器,在你的情况下是脉冲。

我不熟悉cubeMX的东西,大多数时候我直接写注册或使用旧的SPL(标准外围驱动程序)。我将展示它如何与SPL一起工作,因为它应该对cubeMX用户更具可读性。

无论如何,我只是想表明基本的想法如何去做。这个具体的代码适用于STM32f030

首先配置输入引脚(读取数据表只需几个引脚可用作外部触发器和具体定时器)

void digital_input_config (void){

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

GPIO_In

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值