雨辰0_0 2024-01-22 13:35 采纳率: 25%
浏览 15

mpu6050姿态角读取的问题

一个基于stm32f103的mpu6050读取姿态角的问题:
目前代码已经写好了,我写的是进入外部中断获取姿态角数据,
问题就是它一直就不去外部中断,读取不到姿态角信息。
然后我把改成了定时器中断获取姿态角信息,是ok的,说明代码初始化没有问题呀!
下面是EXTI的初始化:

void MPU6050_EXTI_Init(void)
{  
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//外部中断,需要使能AFIO时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能PB端口时钟

    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                //端口配置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;         //上拉输入
    GPIO_Init(GPIOB, &GPIO_InitStructure);                          //根据设定参数初始化GPIOB 
    GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource5);

    EXTI_InitTypeDef EXTI_InitStructure;
    EXTI_InitStructure.EXTI_Line=EXTI_Line5;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;    
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//下降沿触发
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);         //根据EXTI_InitStruct中指定的参数初始化外设EXTI寄存器
    
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;    //使能按键所在的外部中断通道
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;    //抢占优先级2, 
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;            //子优先级1
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                //使能外部中断通道
    NVIC_Init(&NVIC_InitStructure); 
} 

mpu6050的ITN脚也接在了PB5。
问题在哪呀?难道是硬件坏了?
求解求解-_-

  • 写回答

1条回答 默认 最新

  • XT_666 2024-01-22 13:59
    关注

    传感器的中断也需要配置一下

    评论

报告相同问题?

问题事件

  • 创建了问题 1月22日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画