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

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 165|回复: 0

[未解决] 6748GPIO中断问题

[复制链接]

3

主题

4

帖子

87

积分

注册会员

Rank: 2

积分
87
发表于 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. }
复制代码

我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励0 , 目前已有0人回答
最近访问 头像模式 列表模式
回复

使用道具 举报

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

本版积分规则  回帖提醒

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

GMT+8, 2019-11-18 08:30 , Processed in 0.162556 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

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