我的IAP和APP中都开启了USART1接收中断,但是在APP执行过程中,当USART1接收到数据时,只能跳转到IAP中的USART1中断处理函数,不会执行APP的中断处理函数。网上有的方法都尝试过了,还是不行。我在APP中加入了按键控制发送,就是按下按键后,就通过USART1发送一个1给上位机,是可以实现的,也就是串口是正常的,但就是进不了APP的中断处理函数。我的APP在FLASH起始地址及中断向量便宜设置如下:
int main()
{
SCB->VTOR = FLASH_BASE | 0x3000;
RCC_INIT();
USART_GPIO_INIT();
NVIC_INIT();
USART_INIT();
LED_Init();
while(1)
{
LED_Sets(0x0F);
}
}
{
uint32_t index = 0;
NVIC->ICER[0] = 0xFFFFFFFF;
NVIC->ICER[1] = 0xFFFFFFFF;
NVIC->ICER[2] = 0x0000000F;
NVIC->ICPR[0] = 0xFFFFFFFF;
NVIC->ICPR[1] = 0xFFFFFFFF;
NVIC->ICPR[2] = 0x0000000F;
for(index = 0; index < 68; index++)
{
NVIC->IP[index] = 0x00000000;
}
}
加上个这个函数,只针对F1,F4不一样的地方
一周热门 更多>