查看: 4668|回复: 18

[已解决] 关于引脚中断的求助(已解决)

[复制链接]

该用户从未签到

16

主题

57

帖子

0

中级会员

Rank: 3Rank: 3

积分
209
最后登录
2021-7-16
发表于 2014-6-18 11:04:30 | 显示全部楼层 |阅读模式
用KL25的CPU
想用PTD6的下降沿进入中断,初始化如下:
GPIOD_PDDR &= (~(1
我知道答案 目前已有17人回答
回复

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-6-18 13:46:46 | 显示全部楼层

RE:关于引脚中断的求助

楼主,你使能中断了没有?
在CPU.C的void PE_low_level_init(void)中加上这句话,
  /* NVIC_ISER: SETENA|=0x80000000 */
  NVIC_ISER |= NVIC_ISER_SETENA(0x80000000);
还有,你要使能PORTD的时钟:
  SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK;
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

354

帖子

0

高级会员

Rank: 4

积分
693
最后登录
1970-1-1
发表于 2014-6-18 14:20:29 | 显示全部楼层

回复:关于引脚中断的求助

楼主可以学习一下版主对于NVIC的介绍:www.nxpic.org.cn/bbs/article_1280_551272.html
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

57

帖子

0

中级会员

Rank: 3Rank: 3

积分
209
最后登录
2021-7-16
 楼主| 发表于 2014-6-18 14:59:35 | 显示全部楼层

回复:关于引脚中断的求助

追问:
为什么利用PE添加了Init_GPIO这个组件,并设了相关的设置,他生成的初始化代码只有如下这些:
void PTD6_Init(void)
{
  /* GPIOD_PDDR: PDD&=~0x40 */
  GPIOD_PDDR &= (uint32_t)~(uint32_t)(GPIO_PDDR_PDD(0x40));                                   
}
在CPU.C上也没有你说的开中断这个?
用PIT,TPM这些都有的啊
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

57

帖子

0

中级会员

Rank: 3Rank: 3

积分
209
最后登录
2021-7-16
 楼主| 发表于 2014-6-18 15:03:31 | 显示全部楼层

回复:关于引脚中断的求助

回复第 4 楼 于2014-06-18 14:59:35发表:
追问:
为什么利用PE添加了Init_GPIO这个组件,并设了相关的设置,他生成的初始化代码只有如下这些:
void PTD6_Init(void)
{
/* GPIOD_PDDR: PDD&=~0x40 */
GPIOD_PDDR &= (uint32_t)~(uint32_t)(GPIO_PDDR_PDD(0x40));                                   
}
在CPU.C上也没有你说的开中断这个?
用PIT,TPM这些 QQ图片20140618150257.jpg
都有的啊
 
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-6-18 15:59:28 | 显示全部楼层

回复:关于引脚中断的求助

回复第 4 楼 于2014-06-18 14:59:35发表:
追问:
为什么利用PE添加了Init_GPIO这个组件,并设了相关的设置,他生成的初始化代码只有如下这些:
void PTD6_Init(void)
{
/* GPIOD_PDDR: PDD&=~0x40 */
GPIOD_PDDR &= (uint32_t)~(uint32_t)(GPIO_PDDR_PDD(0x40));
}
在CPU.C上也没有你说的开中断这个?
用PIT,TPM这些都有的啊 

那么你使用init_GPIO这个组件,你在模块中使能中断了吗?
如果你要中断,必须要开中断,不开怎么进中断呢?
除非你是不可屏蔽中断NMI。
我给你的是手写的,不是模块生成的。
那么你现在用init_GPIO能进中断吗?
 
回复 支持 反对

使用道具 举报

该用户从未签到

145

主题

4926

帖子

0

金牌会员

Rank: 6Rank: 6

积分
9267
最后登录
1970-1-1
发表于 2014-6-18 16:02:44 | 显示全部楼层

回复:关于引脚中断的求助

而且,按照你的配置,你的CPU。c里面没有使能中断吗?
我按照你的配置配置完就有啊:
22.jpg
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

57

帖子

0

中级会员

Rank: 3Rank: 3

积分
209
最后登录
2021-7-16
 楼主| 发表于 2014-6-18 17:14:35 | 显示全部楼层

回复:关于引脚中断的求助

回复第 7 楼 于2014-06-18 16:02:44发表:
而且,按照你的配置,你的CPU。c里面没有使能中断吗?
我按照你的配置配置完就有啊:

 
那就怪怪了,我用上面的配置,没有这个中断使能呢,CPU.C里也没自动加上对相引脚的初始化,我用的是10.5版本,难道是版本问题?
 
 
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

57

帖子

0

中级会员

Rank: 3Rank: 3

积分
209
最后登录
2021-7-16
 楼主| 发表于 2014-6-18 17:17:59 | 显示全部楼层

回复:关于引脚中断的求助

回复第 6 楼 于2014-06-18 15:59:28发表:
回复第 4 楼 于2014-06-18 14:59:35发表:
追问:
为什么利用PE添加了Init_GPIO这个组件,并设了相关的设置,他生成的初始化代码只有如下这些:
void PTD6_Init(void)
{
/* GPIOD_PDDR: PDD&=~0x40 */
GPIOD_PDDR &= (uint32_t)~(uint32_t)(GPIO_PDDR_PDD(0x40));
}
在CPU.C上也没有你说的开中断这个?
用PIT,TPM这些都有的啊 

那么你使用init_GPIO这个组件,你在模块中使能中断了吗?
如果你要中断,必须要开中断,不开怎么进中断呢?
除非你是不可屏蔽中断NMI。
我给你的是手写的,不是模块生成的。
那么你现在用init_GPIO能进中断吗?
 
 
不行,得手动加上开中断和引脚初始化,
 
 
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

57

帖子

0

中级会员

Rank: 3Rank: 3

积分
209
最后登录
2021-7-16
 楼主| 发表于 2014-6-18 17:37:07 | 显示全部楼层

回复:关于引脚中断的求助

再问下,我新建了项目,用相同的设置,在CPU.C上有开中断这行的,调问是什么原因啊,配置是一样的啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 08:05 , Processed in 0.117078 second(s), 31 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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