5128|14

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

st7外部中断问题??? [复制链接]

这是建立工程后自带的vector.c文件 我将外部中断1,对应中断向量地址0xFFF6。
在main.c中建立了中断服务函数,但是我无法进入中断,

/*    BASIC INTERRUPT VECTORS TABLE FOR ST7 devices
 *    Copyright (c) 2002 STMicroelectronics
 */

#ifndef NULL
#define NULL    (void *)0
#endif

extern void _stext();        /* startup routine */  
extern  void ei1_Int();//外部中断1服务函数

/* Interrupt vector table, to be linked at the address 0xFFE0 (in ROM) */ 
void (* const _vectab[])() = {
    NULL,              /* 0xFFE0 */
    NULL,            /* 0xFFE2 */
    NULL,            /* 0xFFE4 */
    NULL,            /* 0xFFE6 */
    NULL,            /* 0xFFE8 */
    NULL,            /* 0xFFEA */
    NULL,            /* 0xFFEC */
    NULL,            /* 0xFFEE */
    NULL,            /* 0xFFF0 */
    NULL,            /* 0xFFF2 */
    NULL,            /* 0xFFF4 */
    ei1_Int,            /* 0xFFF6 */
    NULL,            /* 0xFFF8 */
    NULL,            /* 0xFFFA */
    NULL,            /* Trap vector */
    _stext,            /* Reset Vector */
};
此帖出自stm32/stm8论坛

最新回复

ddy
                                 我正在找原因,不过还没找到。   详情 回复 发表于 2007-11-5 18:24
点赞 关注
 

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

??

我使用的是st7flite09,

这个mcu是不是没有中断标志位。
此帖出自stm32/stm8论坛
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

你是否指定了外部中断引脚?你是否初始化了外部中断引脚

                                 是否定义了外部中断的触发条件?
此帖出自stm32/stm8论坛
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 

???

                                 我设置了EICR,把ei1设成了falling edge
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 

当然要对CC寄存器的“I”位进行操作

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 

我设置了I还是不行

我用了 
#asm
 rim
#endasm       不行
还需要设置其他的吗?
谢谢        
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 

我在3楼提出的问题你是如何做的?

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

8
 

我设置了 EICR

设置EICR 选择了 下降沿触发 

不是这个嘛,还有其他需要设置吗
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

9
 

请看ST7FLite0的数据手册的10.5节

                                 你需要通过DDR和OR寄存器选择和配置相应的I/O口。
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

10
 

这是我的外部中断1初始化函数,你说的应该是这个

void Ei1_Init(void)//初始化ei1
{
 PADDR    = 0x1f;    //pa0--pa4为输出,pa7为输入
 PAOR    = 0x9f;    //pa0--pa4为out_push-pull,pa7为input中断
 EICR    = 0x08;    //中断控制寄存器,ex1为下降沿触发
}

此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

11
 

这是我的中断服务程序,请帮忙谢谢

@interrupt void ei1_Int(void)//ex1中断服务函数
{
 PADR=0x1f;
}
此帖出自stm32/stm8论坛
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

12
 

用示波器量一下你的PA7引脚是否有输入或电平变化

                                 从你的设置来看应该在PA7引脚下降沿出现时产生中断,除非你的电路有问题或有更高级的中断阻碍了PA7的中断。
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

13
 

莫名其妙的好使了。。??

我只是删掉了一些注释,程序没有改动,他就又好使了。

谢谢各位给我回帖

继续努力,搞定st
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

14
 

哈哈,上帝之手

                                 请楼主还是能找找原因,否则下次又要怪罪上帝了。
此帖出自stm32/stm8论坛
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(初级)

15
 

god is fair

                                 我正在找原因,不过还没找到。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表