ARM7执行中断服务函数后,不能正常跳转回主程序问题?

麻烦请教大神们一个问题,

所用的芯片为ARM7的LPC2138;

编写了一个串口接收中断函数,将接收到的数据保存到一个全局变量中,经测试可以正常接收,接收完后可以回到主程序。

在主函数中,会调用一个void test1(void)函数;

出现的问题是,程序开始,调用void test1(void)函数,在执行void test1(void)函数的过程之中,向串口发送数据,触发串口中断,中断执行完后,会继续执行void test1(void)函数,但在执行完void test1(void)函数后,就不能正常回到主函数继续执行,在这时再向串口发送数据,仍然能正常触发接收中断,但就是回不到主函数。

如果在执行void test1(void)函数的过程中,不触发接收中断,void test1(void)函数函数执行完后,可以正常回到主程序继续执行。

代码如下图所示:

接收串口中断服务函数

图片说明

串口初始化函数:

图片说明

void test1(void)函数

图片说明

请问这个问题可能是哪里出了问题?

https://blog.csdn.net/nih1986517/article/details/3057768

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^