tengo mi programa para que mi motor paso a paso trabaje y encienda con un boton pero tiene un segundo que es el paro de emergencia el cual va anclar el motor la primera parte me la hace bien enciende y apaga el motor pero no me lo ancla estoy utilizando una interrupcion externa para ello necesito bandera pero no se como utilizarlo mi codigo es el seguiente
#include <18F4550.h>
#use delay(clock=48M)
#fuses HSPLL,NOPROTECT,NOWDT,NOMCLR,NOLVP,NODEBUG,USBDIV,PLL5,VREGEN
int bandera;
#INT_EXT
void interrupts_ext0(void){
bandera=0;
output_a(0xff);
}
const char pasos[5]={0x0c,0x06,0x03,0x09};
signed int8 i;
void main(){
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
ext_int_edge(L_TO_H);
for(;; ){
if(input(pin_a5)){
bandera=1;}
if(bandera){
bandera=1;
for(i=0;i<=3&&bandera;i++)
{output_a(pasos);
delay_ms(250); }
for(i=3;i>0&&bandera;i--)
{output_a(pasos);
delay_ms(250); }
}
else{
output_a(0x00);
}
}
}
#include <18F4550.h>
#use delay(clock=48M)
#fuses HSPLL,NOPROTECT,NOWDT,NOMCLR,NOLVP,NODEBUG,USBDIV,PLL5,VREGEN
int bandera;
#INT_EXT
void interrupts_ext0(void){
bandera=0;
output_a(0xff);
}
const char pasos[5]={0x0c,0x06,0x03,0x09};
signed int8 i;
void main(){
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
ext_int_edge(L_TO_H);
for(;; ){
if(input(pin_a5)){
bandera=1;}
if(bandera){
bandera=1;
for(i=0;i<=3&&bandera;i++)
{output_a(pasos);
delay_ms(250); }
for(i=3;i>0&&bandera;i--)
{output_a(pasos);
delay_ms(250); }
}
else{
output_a(0x00);
}
}
}