打印
[技术问答]

M051关于中断的配置

[复制链接]
2884|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jmworkspace|  楼主 | 2014-7-3 16:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在用M051开发板实现PWM输出的控制,因为涉及多种PWM控制模式,所以想设置多个按键控制。而按键控制需要中断的产生,敢问2个外部中断EXINT0、EXINT1跟GPIOP0P1P2P3P4的中断有区别吗? 因为这个中断IRQ函数只有
DCD EINT0_IRQHandler ; 向量地址18
DCD EINT1_IRQHandler ; 向量地址19
DCD GPIOP0P1_IRQHandler ; 向量地址20
DCD GPIOP2P3P4_IRQHandler ; 向量地址21

所以我现在有个方案是利用P4.0-P4.3 4个引脚作为检测中断的按键。因为摸索着板子时间也不长,通过demo可使用P3.3的中断并且触发中断函数。
但是当我设置P4.0-P4.3的引脚作为中断就不能触发中断,进入中断函数。
具体配置如下:


void Key_Init()
{
       
        P4_PMD = P4_PMD & ~(Px0_PMD | Px1_PMD | Px2_PMD | Px3_PMD) | (Px0_OD | Px1_OD | Px2_OD | Px3_OD);     //P4.0-P4.3 open drain功能

        P4_IMD &= IMD4_LEV;       
        P4_IEN |= IR_EN4;                                                   //设置外部中断0为高电平触发
        NVIC_ISER |= GP234_INT;
}

因为我每个引脚外接pull hight电阻,所以开漏模式下可以作为输出引脚。

我的意图是想P4.0-P4.3的每个中断都能触发中断函数GPIOP2P3P4_IRQHandler ,然后通过在中断函数内判定IO口的电位变化再决定每个IO口对应变化的操作,这样就不用设置多个中断函数了。

一开始我也尝试了直接mainloop在一个循环内判定按键的变化的,但是考虑到部分按键需要delay时间,所以不能全程监控按键的操作。
但是之前我尝试在mainloop下是可以通过按键控制PWM输出duty的增加或减少,若自动增加则需要增加delay会影响监控,所以才考虑用中断来做。

希望大神们告诉我这P4.0-P4.3的中断应该如何配置才能触发同1个中断函数。或者配置哪里出错了。
沙发
jmworkspace|  楼主 | 2014-7-3 16:53 | 只看该作者
因为楼主一开始是用板子内附的光碟的源固件,版本为M051SeriesBSP_DirectRegisterAccess_v1.01.003

使用特权

评论回复
板凳
mintspring| | 2014-8-18 20:00 | 只看该作者
根据技术手册驱动配置,一点问题都没

使用特权

评论回复
地板
gaoyang9992006| | 2014-8-19 19:48 | 只看该作者
认真看技术手册,好像有个名字叫驱动手册,就是介绍芯片的外设如何使用的。

使用特权

评论回复
5
从小木丁丁| | 2014-8-19 22:04 | 只看该作者
我都是根据技术手册配置

使用特权

评论回复
6
598330983| | 2014-8-27 22:05 | 只看该作者
我英语还行,那芯片驱动手册一看,我就直接配置了,从来不记,都是用的时候再弄,反正习惯

使用特权

评论回复
7
bingg| | 2015-9-20 13:45 | 只看该作者
:Q

使用特权

评论回复
8
mintspring| | 2015-9-23 21:14 | 只看该作者
我都是根据技术手册配置,楼主不服?

使用特权

评论回复
9
yiyigirl2014| | 2015-9-24 21:22 | 只看该作者
IRQHandler这个词尾是不是系统里配置好的,遇到这个都是中断处理程序。

使用特权

评论回复
10
598330983| | 2015-9-26 11:11 | 只看该作者
利用P4.0-P4.3 4个引脚作为检测中断的按键

使用特权

评论回复
11
Ketose| | 2015-9-26 17:12 | 只看该作者
我觉的 P4_PMD = P4_PMD & ~(Px0_PMD 。。。)这儿应该是“|”或操作。
还有应该配置成输入模式吧。

使用特权

评论回复
12
734774645| | 2015-9-29 15:42 | 只看该作者
楼上说的挺有道理的,我来学习一下

使用特权

评论回复
13
yiyigirl2014| | 2015-9-29 15:48 | 只看该作者
这个我都是根据库函数写,原型说明里应该有

使用特权

评论回复
14
xuanhuanzi| | 2020-4-19 22:58 | 只看该作者
在哪儿设置这个

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

45

帖子

0

粉丝