找回密码
 立即注册

QQ登录

只需一步,快速开始

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

利用STM32外部中断和霍尔传感器写的电机测速程序 求帮助

  [复制链接]
ID:539559 发表于 2019-7-19 09:22 | 显示全部楼层 |阅读模式
这是我最近写的利用32外部中断和霍尔传感器写的电机测速源程序,程序运行错误 求帮助
  1. #include "exti.h"
  2. #include "stm32f10x.h"
  3. #include "delay.h"
  4. #include "led.h"
  5. #include "sys.h"

  6. u16 k1 = 0;
  7. u8 k2 = 0;

  8. void EXTIX_Init(void)
  9. {
  10.         GPIO_InitTypeDef GPIO_InitStructure;
  11.         EXTI_InitTypeDef EXTI_InitStructure;
  12.         NVIC_InitTypeDef NVIC_InitStructure;
  13.         
  14.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;                                //初始化IO口
  15.         GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_2 | GPIO_Pin_1;
  16.         GPIO_Init(GPIOF,&GPIO_InitStructure);               
  17.         
  18.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOF, ENABLE);                //开启IO口复用时钟
  19.         
  20.         GPIO_EXTILineConfig(GPIO_PortSourceGPIOF,GPIO_PinSource2);        //        GPIOB2 映射到 中断线2
  21.         GPIO_EXTILineConfig(GPIO_PortSourceGPIOF,GPIO_PinSource1);        //        GPIOB1 映射到 中断线1
  22.         
  23.         EXTI_InitStructure.EXTI_Line    = EXTI_Line2;                                //中断线2
  24.         EXTI_InitStructure.EXTI_LineCmd = ENABLE;                                        //外部中断使能
  25.         EXTI_InitStructure.EXTI_Mode    = EXTI_Mode_Interrupt;                //模式中断
  26.         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;                //下降沿
  27.         EXTI_Init(&EXTI_InitStructure);                                                                //设定参数初始化 外部中断
  28.         
  29.         EXTI_InitStructure.EXTI_Line    = EXTI_Line1;                                //中断线1
  30.         EXTI_InitStructure.EXTI_LineCmd = ENABLE;                                        //外部中断使能
  31.         EXTI_InitStructure.EXTI_Mode    = EXTI_Mode_Interrupt;                //模式中断
  32.         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;                //下降沿
  33.         EXTI_Init(&EXTI_InitStructure);                                                                //设定参数初始化 外部中断
  34.         
  35.         
  36.         NVIC_InitStructure.NVIC_IRQChannel                                                 = EXTI2_IRQn;                        //通道 外部中断2
  37.         NVIC_InitStructure.NVIC_IRQChannelCmd                                         = ENABLE;                                //使能
  38.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority         = 2;                                        //抢占优先级
  39.         NVIC_InitStructure.NVIC_IRQChannelSubPriority                         = 1;                                        //响应优先级
  40.         NVIC_Init(&NVIC_InitStructure);
  41.         
  42.         NVIC_InitStructure.NVIC_IRQChannel                                                 = EXTI1_IRQn;                        //通道 外部中断1
  43.         NVIC_InitStructure.NVIC_IRQChannelCmd                                         = ENABLE;                                //使能
  44.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority         = 2;                                        //抢占优先级
  45.         NVIC_InitStructure.NVIC_IRQChannelSubPriority                         = 2;                                        //响应优先级
  46.         NVIC_Init(&NVIC_InitStructure);
  47.         
  48. }

  49. void EXTI2_IRQHandler(void)                                                //外部中断服务函数
  50. {
  51. //        k2++;
  52. //        if(k2 >= 13)
  53. //        {
  54. //                k2 = 0;
  55.                 k1++;
  56. //        }
  57.         
  58.         
  59.         EXTI_ClearITPendingBit(EXTI_Line2);                        //清除中断标志位
  60. }

  61. void EXTI1_IRQHandler(void)                                                //外部中断服务函数
  62. {
  63.         k1 = 0;
  64.         
  65.         EXTI_ClearITPendingBit(EXTI_Line1);                        //清除中断标志位
  66. }


复制代码
全部资料51hei下载地址:(管理提醒:多人回帖说代码有问题,大家不要下载)
外部中断(电机测速).7z (182.49 KB, 下载次数: 125)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:496604 发表于 2019-7-26 11:37 | 显示全部楼层
测不了数据,都是0
回复

使用道具 举报

ID:421308 发表于 2019-7-28 16:43 | 显示全部楼层
测不了数据啊,
回复

使用道具 举报

ID:484435 发表于 2019-8-1 11:08 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:593627 发表于 2019-8-1 15:15 | 显示全部楼层
代码可能有问题
回复

使用道具 举报

ID:266727 发表于 2020-3-4 19:22 | 显示全部楼层
打开一看你会发现、这只是一个中断计数
回复

使用道具 举报

ID:567177 发表于 2020-11-12 22:25 | 显示全部楼层
这个代码逗我玩呢,没有霍尔模块
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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