请问怎样通过外部中断结束子程序?有流程图

[复制链接]
10780|23
firingcloud 发表于 2012-7-17 21:21 | 显示全部楼层
就算能实现也不建议这么做,容易出一些莫名其妙的错,又难debug
gdutxzy 发表于 2012-7-18 09:43 | 显示全部楼层
汇编能轻松做到,毫无限制。
weizheng07 发表于 2012-7-18 10:33 | 显示全部楼层
子程序:
unsigned char K1Flag  =0;//未启动
void K1()
{
        K1Flag = 0x55;//启动
       
        while(K1Flag == 0x55);//判断中断是否结束
}

中断程序:
void int()
{
        unsigned char IntFlag = 0x00;
        if(K1Flag == 0x55)
                IntFlag  = 0x55;//确认当前的状态
       
        ...............//中断处理程序

        if(IntFlag  == 0x55)
                K1Flag = 0x00;//清楚子程序标志位

        return;
}
weizheng07 发表于 2012-7-18 10:35 | 显示全部楼层
我的理解是楼主想在子程序去启动中断,而主程序不去管中断,在子程序启动之后,中断的东西才算数,那么就设定一下,子程序中回去读数据也好处理数据也好,主程序不去管就是了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部