6748GPIO中断问题 - TMS320C6748 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3063|回复: 0

[未解决] 6748GPIO中断问题

[复制链接]

4

主题

5

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2019-11-5 17:18:54 | 显示全部楼层 |阅读模式
本帖最后由 sanxiaoke 于 2019-11-5 17:23 编辑

我使用6748的GPIO8[10],GPIO8[9],GPIO8[8]作为中断源,当这三个引脚有任意一个电平有变化时候(上升下降沿触发),产生中断,进入同一个中断服务函数,但问题是总是进不去中断,不知什么原因,请各位大神帮忙看一下代码是否有问题
  1. void GPIOBankPinInterruptInit(void)        //GPIO 管脚中断初始化
  2. {
  3.     // 配置 GPIO8[10] 为上升及下降沿触发
  4.     GPIOIntTypeSet(SOC_GPIO_0_REGS, 139, GPIO_INT_TYPE_BOTHEDGE);
  5.     // 配置 GPIO8[9] 为上升及下降沿触发
  6.     GPIOIntTypeSet(SOC_GPIO_0_REGS, 138, GPIO_INT_TYPE_BOTHEDGE);
  7.     // 配置 GPIO8[8] 为上升及下降沿触发
  8.     GPIOIntTypeSet(SOC_GPIO_0_REGS, 137, GPIO_INT_TYPE_BOTHEDGE);

  9.     // 使能 GPIO BANK 中断
  10.     GPIOBankIntEnable(SOC_GPIO_0_REGS, 8);                  // GPIO8

  11.         // 注册中断服务函数
  12.         IntRegister(C674X_MASK_INT7, GPIO8Isr);

  13.         // 映射中断到 DSP 可屏蔽中断
  14.         IntEventMap(C674X_MASK_INT7, SYS_INT_GPIO_B8INT);

  15.         // 使能 DSP 可屏蔽中断
  16.         IntEnable(C674X_MASK_INT7);
  17. }
复制代码
  1. void GPIO8Isr(void)                                                // GPIO中断服务函数
  2. {
  3. // 禁用 GPIO BANK 8 中断
  4.         GPIOBankIntDisable(SOC_GPIO_0_REGS, 8);

  5. // 清除 GPIO BANK 8 中断状态
  6.     IntEventClear(SYS_INT_GPIO_B8INT);

  7. // 清除 GPIO8[10] GPIO8[9] GPIO8[8]中断状态
  8.     GPIOPinIntClear(SOC_GPIO_0_REGS, 139);
  9.     GPIOPinIntClear(SOC_GPIO_0_REGS, 138);
  10.     GPIOPinIntClear(SOC_GPIO_0_REGS, 137);

  11.         printf("%d\n",state);        
  12.         
  13. // 使能 GPIO BANK 8 中断
  14.     GPIOBankIntEnable(SOC_GPIO_0_REGS, 8);
  15. }
复制代码

回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-3-29 17:49 , Processed in 0.036250 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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