中级会员
 
- 积分
- 209
- 金钱
- 209
- 注册时间
- 2016-9-9
- 在线时间
- 84 小时
|
1金钱
本帖最后由 dreamARM 于 2016-9-28 17:11 编辑
我是一步步照着做的,但是
中断程序:
void EXTIX_Init(void)
{
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
KEY_Init();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource4);
EXTI_InitStructure.EXTI_Line=EXTI_Line4;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel=EXTI4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x00;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x00;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void EXTI4_IRQHandler(void)
{
delay_ms(10);
if(KEY0==0)
{
LED0=!LED0;
LED1=!LED1;
}
EXTI_ClearITPendingBit(EXTI_Line4);
}
#include "stm32f10x.h"
#include "led.h"
#include "key.h"
#include "delay.h"
#include "exti.h"
#include "usart.h"
#include "stdio.h"
#include "sys.h"
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
My_USART1_Init();
delay_init();
LED_Init();
KEY_Init();
EXTIX_Init();
while(1)
{
delay_ms(1000);
printf("that a hero lies in you\r\n"); ???
}
}
如果我用printf 打印输出,中断程序就不好用,如果屏蔽 printf,LED中断实验就好使了。大家跟着做的时候发现这问题了吗? @zuozhongkai @aozima |
|