我的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);
}
}
我试过了,还是不行
一样的c8t6板子,一样的APP都不行的话,那我也没辙了,你看看自己调试方法有没有问题吧,或者参考原子的例程写法重写程序,我直接上电后运行正常跳转后能进当前串口中断并能正确接收:
应该跟硬件没关,你上面说能发也能收,只是接收跳错位置而已;
下载完上面的boot和APP直接点APP仿真并打断点,用调试助手发送数据给串口1,程序就停断点那就表示没问题了;
一周热门 更多>