51uwb.cn

 找回密码
 立即注册
查看: 7292|回复: 5
打印 上一主题 下一主题

配置STM32 中断引脚 -- DWM1000 IRQ 【STM32 基础知识】

[复制链接]

73

主题

249

帖子

6802

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6802
跳转到指定楼层
楼主
发表于 2019-3-19 21:48:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
为了管理方便,论坛是邀请制,如果需要注册论坛,点击论坛上方的“店铺”,旺旺联系免费获得邀请码
DWM1000 本身有很多中断控制,例如发送完成中断,接收完成中断等等, 可以通过IRQ(GPIO8) 送到外部控制器。
DWM1000 IRQ pin可以挂到STM32 的外部中断上。 例如当接收到数据帧后,DWM1000 拉IRQ,STM32 实时处理接收到的数据帧。之前代码没有用到中断部分,这里补上一些相关内容。

1 STM32 与 DWM1000 IRQ连接原理图
从原理图上看,IRQ 连到的PB0上

2宏定义修改
  1. #define DECAIRQ                     GPIO_Pin_0
  2. #define DECAIRQ_GPIO                GPIOB
  3. #define DECAIRQ_EXTI                EXTI_Line0
  4. #define DECAIRQ_EXTI_PORT           GPIO_PortSourceGPIOB
  5. #define DECAIRQ_EXTI_PIN            GPIO_PinSource0
  6. #define DECAIRQ_EXTI_IRQn           EXTI0_IRQn
  7. #define DECAIRQ_EXTI_USEIRQ         ENABLE
  8. #define DECAIRQ_EXTI_NOIRQ          DISABLE
复制代码
3 增加中断处理函数(点亮LED灯)
  1. void EXTI0_IRQHandler(void)
  2. {
  3.     if(EXTI_GetITStatus(DECAIRQ_EXTI)!= RESET)
  4.     {
  5.         EXTI_ClearITPendingBit(DECAIRQ_EXTI);
  6.         led_on(LED_ALL);
  7.     }
  8. }
复制代码

4 配置外部中断 NVIC
  1. int NVIC_Configuration(void)
  2. {
  3.     GPIO_InitTypeDef GPIO_InitStructure;
  4.     EXTI_InitTypeDef EXTI_InitStructure;
  5.     NVIC_InitTypeDef NVIC_InitStructure;

  6.     // Enable GPIO used as DECA IRQ for interrupt
  7.     GPIO_InitStructure.GPIO_Pin = DECAIRQ;
  8.     GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_IPD;  //IRQ pin should be Pull Down to prevent unnecessary EXT IRQ while DW1000 goes to sleep mode
  9.     GPIO_Init(DECAIRQ_GPIO, &GPIO_InitStructure);

  10.     /* Connect EXTI Line to GPIO Pin */
  11.     GPIO_EXTILineConfig(DECAIRQ_EXTI_PORT, DECAIRQ_EXTI_PIN);

  12.     /* Configure EXTI line */
  13.     EXTI_InitStructure.EXTI_Line = DECAIRQ_EXTI;
  14.     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  15.     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;  //MPW3 IRQ polarity is high by default
  16.     EXTI_InitStructure.EXTI_LineCmd = DECAIRQ_EXTI_USEIRQ;
  17.     EXTI_Init(&EXTI_InitStructure);

  18.     /* Set NVIC Grouping to 16 groups of interrupt without sub-grouping */
  19.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);

  20.     /* Enable and set EXTI Interrupt to the lowest priority */
  21.     NVIC_InitStructure.NVIC_IRQChannel = DECAIRQ_EXTI_IRQn;
  22.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15;
  23.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  24.     NVIC_InitStructure.NVIC_IRQChannelCmd = DECAIRQ_EXTI_USEIRQ;

  25.     NVIC_Init(&NVIC_InitStructure);

  26.     /* Enable the RTC Interrupt */
  27.     //NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn;
  28.     //NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 10;
  29.     //NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  30.     //NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

  31.     //NVIC_Init(&NVIC_InitStructure);

  32.     return 0;
  33. }
复制代码

5 硬件初始化调用上述函数
  1. void peripherals_init (void)
  2. {
  3.    ……
  4.     NVIC_Configuration();
  5.     //AT24C16_TEST();while(1);
  6. }
复制代码
6 编译下载,将IRQpin 拉高,观察LED灯

port.c (29.44 KB, 下载次数: 15)


port.h (7.39 KB, 下载次数: 4)



回复

使用道具 举报

5

主题

24

帖子

72

积分

注册会员

Rank: 2

积分
72
沙发
发表于 2019-4-30 08:15:58 | 只看该作者
BPHero_UWB_Location_SourceCode_V1.1_16MHz
这个代码是不是和中断没有关系?
没有看到以上代码的配置。
回复

使用道具 举报

73

主题

249

帖子

6802

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6802
板凳
 楼主| 发表于 2019-4-30 09:47:12 | 只看该作者
淮工王大师 发表于 2019-4-30 08:15
BPHero_UWB_Location_SourceCode_V1.1_16MHz
这个代码是不是和中断没有关系?
没有看到以上代码的配置。

是的,正式release 出来的代码没有用到这个部分
回复

使用道具 举报

0

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
地板
发表于 2019-6-20 00:55:52 | 只看该作者
谢谢大牛分享
回复

使用道具 举报

0

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
5#
发表于 2024-4-11 10:48:18 | 只看该作者
感谢分享。。。。。。。。。
回复

使用道具 举报

0

主题

6

帖子

16

积分

新手上路

Rank: 1

积分
16
6#
发表于 2024-4-19 09:09:09 | 只看该作者
好资料感谢分享
回复

使用道具 举报

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

本版积分规则

bphero Inc.  

GMT+8, 2024-5-3 02:50 , Processed in 0.022844 second(s), 5 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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