单片机学习小组
直播中

邹媛媛

7年用户 223经验值
私信 关注

如何实现setjmp和longjmp的跳转

想实现这么一个功能,我在定时中断中判断一个输入点P1.0,当P1.0接收到高电平时进入跳转,转到一个函数。
下面代码
void timer1_Interrupt()interrupt 3
{
    TH1=xx;
    TL1=xx;
    if(P1.0)
    {
        longjmp(bufer,1);
    }
}
void dd()
{
    ........
    ........
    ........
    setjmp(bufer);
    ........
}
上面这些代码第一次检测到P1.0时能实现跳转,都是后面检测到P1.0无法跳转这是什么情况

回帖(2)

付雯瑶

2019-7-22 09:10:46
帮顶
举报

阿信509

2019-7-22 10:19:49
程序就不是这个写法,简单点应该弄个标志,等中断退出后再去执行相应的函数
举报

更多回帖

发帖
×
20
完善资料,
赚取积分