用汇编的话,函数返回用ret和reti区别。 但用C写的话,都是大括号或return结束该函数. 怎么提前结束中断函数呢?比如 普通函数: void fun1(void) { if(A) return; fun2(); fun3(); ... } 用AVR单片机为例: #pragma vector=INT1_vect __interrupt void EXT_INT1(void) { if(B) { funtion_1(); if(C) { funtion_2(); funtion_3(); if(D) { ... } } } } 如果能直接写成: #pragma vector=INT1_vect __interrupt void EXT_INT1(void) { if(!B) return; //假设的,俺没敢用return直接结束该中断函数 funtion_1(); if(!C) return; //假设的 funtion_2(); funtion_3(); if(D) { ... } }
勉去漏写大括号的错误和简洁视觉上的阅读 大家有没有什么好的心得?我现在是老老实实写括号的
|