初级会员

- 积分
- 196
- 金钱
- 196
- 注册时间
- 2014-7-17
- 在线时间
- 21 小时
|
5金钱
為什麼一上電就進中斷?這裡PB345是觸發的腳,PB678設為輸出低,並且與PB345一一對應,這樣當PB3與PB6連通時就應該觸發中斷,但是一上電的情況下它倆並沒有連通啊。
#include "exti.h"
#include "delay.h"
#include "usart.h"
#include "run.h"
#include "led.h"
void EXTI3_IRQHandler(void)
{
LED0=0;
delay_ms(10);//????
if(ROW0==0)
{
if(LINE0==0)
{
mode=!mode;
//LED0=0;
}
else
{
if(LINE1==1)
{
direction2=1;
//LED0=0;
}
}
}
EXTI-> R=1<<3; //????LINE0????????±ê????
}
void EXTI4_IRQHandler(void)
{
delay_ms(10); //????
if(ROW1==0)
{
if(LINE0==0)
{
direction1=-1;
//LED0=0;
}
else
{
if(LINE1==0)
{
direction1=direction2=0;
//LED0=0;
}
else
{
if(LINE2==0)
{
direction1=1;
//LED0=0;
}
}
}
}
EXTI-> R=1<<4; //????LINE15????????±ê????
}
void EXTI9_5_IRQHandler(void)
{
delay_ms(10);//????
if(ROW2==0) //°??ü2
{
direction2=-1;
//LED0=0;
}
EXTI-> R=1<<5; //????LINE0????????±ê????
}
//??????PB3,PB4,PB5??????????.
void EXTIX_Init(void)
{
RCC->APB2ENR|=1<<3; //????PORTA?±??
RCC->APB2ENR|=1<<0;
JTAG_Set(JTAG_SWD_DISABLE);
GPIOB->CRL&=0X00000FFF;//PB3??4??5?è???????? PB6??7??8?”??
GPIOB->CRL|=0X33888000;
GPIOB->CRH&=0XFFFFFFF0;
GPIOB->CRH|=0X00000003;
GPIOB->ODR|=7<<3; //?”????
GPIOB->ODR&=0<<6;
GPIOB->ODR&=0<<7;
GPIOB->ODR&=0<<8;
Ex_NVIC_Config(GPIO_B,3,RTIR); //????????·?
Ex_NVIC_Config(GPIO_B,4,RTIR);//????????·?
Ex_NVIC_Config(GPIO_B,5,RTIR);//????????·?
MY_NVIC_Init(2,2,EXTI3_IRQChannel,2); //????2??×???????2??×é2
MY_NVIC_Init(2,1,EXTI4_IRQChannel,2); //????2??×???????1??×é2
MY_NVIC_Init(2,1,EXTI9_5_IRQChannel,2);
}
|
|