[mw_shl_code=c,true]
void EX_NVIT_Config(void)
{
u32 temp;
RCC->APB2ENR|=1<<2;
RCC->APB2ENR|=1<<3;
RCC->APB2ENR|=1<<0;
GPIOA->CRL&=0xFFFFFFF0;
GPIOA->CRL|=0x00000008;
GPIOA->CRH&=0xFFFFFFF0;
GPIOA->CRH|=0x00000008;
GPIOB->CRL&=0xFFFFF00F;
GPIOB->CRL|=0x00000880;
GPIOA->ODR|=1<<0;
GPIOA->ODR|=1<<8;
GPIOB->ODR|=1<<1;
GPIOB->ODR|=1<<2;
AFIO->EXTICR[1]&=0xFFF0;
AFIO->EXTICR[1]&=0xFF0F;
AFIO->EXTICR[1]|=0x0010;
AFIO->EXTICR[1]&=0xF0FF;
AFIO->EXTICR[1]|=0x0100;
AFIO->EXTICR[3]&=0xFFF0;
EXTI->IMR|=0x00000107;
EXTI->FTSR|=0x00000107;
EXTI->RTSR|=0x00000107;
temp=SCB->AIRCR;
temp&=0x0000F8FF;
temp|=0x05FA0000;
temp|=0x00000500;
SCB->AIRCR=temp;
NVIC->ISER[0]|=1<<6;
NVIC->IP[6]|=5<<4;
NVIC->ISER[0]|=1<<7;
NVIC->IP[7]|=9<<4;
NVIC->ISER[0]|=1<<8;
NVIC->IP[8]|=5<<4;
NVIC->ISER[0]|=1<<23;
NVIC->IP[23]|=5<<4;
}
int main()
{
MYRCC_InitConfig();
delay_init(72);
LED_Init();
EX_NVIT_Config();
while(1)
{
}
}
void EXTI1_IRQHandler(void)
{
delay_ms(10);//????
if((GPIOB->IDR&0x00000002)==0x00000002) //°??ü1
{
GPIOC->ODR=0x0000FFFF;
GPIOD->BSRR|=1<<2;
GPIOD->BRR|=1<<2;
}
else
{
GPIOC->ODR=0x0000DFFF;
GPIOD->BSRR|=1<<2;
GPIOD->BRR|=1<<2;
}
EXTI->  R=1<<1;
}
void LED_Init(void)
{
RCC->APB2ENR|=1<<4;
GPIOC->CRH&=0xFF0FFFFF;
GPIOC->CRH|=0x11111111;
GPIOC->ODR&=0x00000000;
GPIOC->ODR|=0x0000DFFF;
RCC->APB2ENR|=1<<5;
GPIOD->CRL&=0xFFFFF0FF;
GPIOD->CRL|=0x00000100;
GPIOD->BSRR|=1<<2;
GPIOD->BRR|=1<<2;
}[/mw_shl_code]
|