iar for stm8外部中断程序

写了一个程序却怎么进不了中断谁知道问题出在哪里?附程序#include"iostm8s003f3.h"#defineucharunsignedchar#defineuin... 写了一个程序却怎么进不了中断谁知道问题出在哪里?附程序
#include "iostm8s003f3.h"
#define uchar unsigned char
#define uint unsigned int
#define M_OPEN PC_ODR_ODR4=1
#define M_OFF PC_ODR_ODR4=0
#define F_OPEN PC_ODR_ODR3=1
#define F_OFF PC_ODR_ODR3=0
#define LED_OPEN PD_ODR_ODR4=0
#define LED_OFF PD_ODR_ODR4=1
void GPIO_Nint()
{
PD_DDR|=(1<<4) ;
PD_CR1|=(1<<4);
PD_CR2&=0XEF;
PC_DDR|=(1<<3)|(1<<4);
PC_CR1|=(1<<3)|(1<<4);
PC_CR2&=0XE7;
//PA_DDR&=0XF7;
//PA_CR1&=(1<<3);
//PA_CR2&=0XF7;
PB_DDR&=0XDF;
PB_CR1&=(1<<5);
PB_CR2&=0XDF;
M_OFF;
F_OFF;
LED_OFF;
}
void delay(uint ms)
{
uint b;
uint a;
for(a=ms;a>0;a--)
{
for(b=60;b>0;b--);
}
}
void work()
{
M_OPEN ;
F_OPEN ;
LED_OPEN;
}
void half()
{
M_OFF ;
F_OFF ;
LED_OFF ;
}
void EXTI_init(void)
{
EXTI_CR1=0x04;
}
void main()
{
asm("sim");
EXTI_init();
GPIO_Nint();
asm("rim");
while(1)
{
work();
}
}
#pragma vector=0x06
__interrupt void EXTI_PB5_()
{
while(1)
{
half();
}
}
展开
 我来答
sanm369
2015-12-16
知道答主
回答量:23
采纳率:0%
帮助的人:8.2万
展开全部
GPIO_DeInit(GPIOD);//端口初始化
GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_IN_PU_IT);//引脚初始化
EXTI_DeInit();//中断初始化
EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOD, EXTI_SENSITIVITY_FALL_LOW);//下降沿
enableInterrupts();//开全局中断
查晓筠0i5
2015-01-10 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4951万
展开全部
需要给你写一份吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式