打印

外部按键中断时无法触发中断

[复制链接]
763|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongche|  楼主 | 2014-12-15 20:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用cy7c63813芯片的INT0引脚做外部按键中断时,无法触发中断,但是GIE使能、INT0中断使能、引脚配置(开漏、下降沿触发)等都没问题
沙发
huwr| | 2014-12-15 20:09 | 只看该作者
在boot.asm替换了中断向量表中的中断服务程序为_button_svr了吗?

使用特权

评论回复
板凳
gongche|  楼主 | 2014-12-15 20:10 | 只看该作者
替换了

使用特权

评论回复
地板
huanghuac| | 2014-12-15 20:12 | 只看该作者
代码发一下看看

使用特权

评论回复
5
gongche|  楼主 | 2014-12-15 20:14 | 只看该作者
#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"    // PSoC API definitions for all User Modules

#pragma interrupt_handler button_svr

void main()
{
     // Insert your main routine code here.
DWORD count = 0;
M8C_EnableGInt;
M8C_EnableIntMask( INT_MSK0, INT_MSK0_GPIO_PORT0 );

while(1)
{}
}

void button_svr(void)
{
if(P1DATA == 0x00)
   P1DATA = 0x04;
else
   P1DATA = 0x00;
}

使用特权

评论回复
6
gongche|  楼主 | 2014-12-15 20:29 | 只看该作者
这是电路图

使用特权

评论回复
7
happy_10| | 2014-12-15 20:31 | 只看该作者
要在boot.tpl中修改中断返回服务程序, 而不能在boot.asm中改

使用特权

评论回复
8
gongche|  楼主 | 2014-12-15 20:33 | 只看该作者
试了下楼上的方法,还是没有解决

使用特权

评论回复
9
huanghuac| | 2014-12-15 20:34 | 只看该作者
生成hex的时候要选择reloadboot.asm

使用特权

评论回复
10
冰清玉洁| | 2014-12-15 20:35 | 只看该作者
reloadboot.asm文件在什么地方啊?

使用特权

评论回复
11
wenfen| | 2014-12-15 20:36 | 只看该作者
生成hex文件时候如何在那一个菜单里面选择reloadboot.asm呢?

使用特权

评论回复
12
chenho| | 2014-12-15 20:38 | 只看该作者
在boot.tpl中修改中断返回服务程序后,打开一下boot.asm, 看相应的修改产生了没?
http://www.cypress.com/?rID=48990
这个是一个例程

使用特权

评论回复
13
gongche|  楼主 | 2014-12-15 20:39 | 只看该作者
多谢楼上,搞通了

使用特权

评论回复
14
gongche|  楼主 | 2014-12-15 23:02 | 只看该作者
结贴了,晚安哈

使用特权

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

本版积分规则

768

主题

9410

帖子

2

粉丝