找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2419|回复: 6
收起左侧

stm32 pwm驱动直流电机的问题

[复制链接]
回帖奖励 10 黑币 回复本帖可获得 1 黑币奖励! 每人限 1 次
ID:189450 发表于 2017-8-19 17:08 | 显示全部楼层 |阅读模式

  1. #include "stm32f4xx_it.h"
  2. #include "bsp_exti.h"
  3. #include "./tim/bsp_general_tim.h"
  4. #include "bsp_led.h"

  5. uint16_t M = 5000;
  6. void EXTI0_IRQHandler(void)
  7. {
  8.   //确保是否产生了EXTI Line中断
  9.         if(EXTI_GetITStatus(KEY1_INT_EXTI_LINE) != RESET)
  10.         {
  11.                                 
  12.     M = M + 1000;if(M==9000) M = 9000;
  13.                 LED1_TOGGLE;
  14.     //清除中断标志位
  15.                 EXTI_ClearITPendingBit(KEY1_INT_EXTI_LINE);     
  16.         }  
  17. }
  18. void EXTI15_10_IRQHandler(void)
  19. {
  20.   //确保是否产生了EXTI Line中断
  21.         if(EXTI_GetITStatus(KEY2_INT_EXTI_LINE) != RESET)
  22.         {
  23.                 LED2_TOGGLE;
  24.                 M = M - 1000 ;if(M==0) M=0;
  25.     //清除中断标志位
  26.                 EXTI_ClearITPendingBit(KEY2_INT_EXTI_LINE);     
  27.         }  
  28. }
复制代码

评分

参与人数 1黑币 +5 收起 理由
virtuehuang + 5

查看全部评分

回复

使用道具 举报

ID:189450 发表于 2017-8-19 17:11 | 显示全部楼层
跪求,程序原本思路,通过按键中断,改变M值,改变电机转速,本次程序并不能实现,求指导
回复

使用道具 举报

ID:228347 发表于 2017-8-19 21:59 | 显示全部楼层
初始化中断了吗?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:123289 发表于 2017-8-20 12:21 | 显示全部楼层
先将自己的思路列出来,整理成条款、表格、逻辑图、流程图……,而后再写程序。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:189450 发表于 2017-8-20 17:11 | 显示全部楼层
解释下现象,我后来加了串口,每次按下按键,led跳转,并且串口可以读取正确数据,这说明中断正常工作,M值有变化,但是电机转速没变化,直接改变M的值电机转速是会变化的,这是什么情况?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:310466 发表于 2018-4-17 23:02 | 显示全部楼层
学习了,谢谢楼主
回复

使用道具 举报

ID:1075162 发表于 2024-3-25 14:54 | 显示全部楼层
要跟变速放一起
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表