这是个老问题了,仔细看了版上的帖子依然无法解决。
项目非常简单,用一个按键当开关,按一下,灯的状态就改变
p1.0作为按键输入 配置为 drive:High Z 上升沿触发
p1.1接LED灯
程序为
#include <m8c.h> // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules
#include "ports.h"
#pragma interrupt_handler APSoC_GPIO_ISR;
int i=0;
void main()
{
M8C_EnableGInt;
INT_MSK0|=INT_MSK0_GPIO;//版上说这个是开GPIO中断的,具体的不是很清楚
LED_1_Switch(1);
}
void APSoC_GPIO_ISR()
{ i++;
LED_1_Invert();
}
然后boot.asm文件改成
org 1Ch ;GPIO Interrupt Vector
ljmp _APSoC_GPIO_ISR
reti
开始我是
org 1Ch ;GPIO Interrupt Vector
ljmp PSoC_GPIO_ISR
reti
然后再在
PSoC_GPIO_ISR:
reti
中加入中断服务程序** 这样不行,后来参考以前版上高手的方法改成直接在boot.asm中跳转。可是依然无法解决;
急需各位解答。 |