me funciona sin declarar tris ya que utilize output_a con lo que digo mi q todo mi puerto a es de salida y lo cheque en proteus y si me salio utilizo pic c para programar.
y en mi paro de emergencia de mi motor necesito ponerlo a 1 toda mis salidas de mi pic para q entren en el ulm2803 y asi enclavar mi motor paso
a paso . mi diagrama tiene un pic el 18f4550,ulm2803,y un motor paso a paso
#INT_EXT / este es mi interrupcion B0 cuando mi interrupcion entre mi bandera si esta en cero la cambiara a 1 y si es uno a cero y cambiara el funcionamiento de mi programa principal lo encendera y para mi motor normalment.
void interrupts_ext0(void){
if (bandera){
bandera=0;
output_a(0x00);
}
else {
bandera=1;}
}
#INT_EXT1 /interrupcion B1 este funcionara cuando mi bandera este en uno la cambiara a cero por lo cual saldra en mis salida por todo el puerto a un 1 y asi anclando mi motor esta interrupcion es mi paro de emergencia amarra el motor para que no siga girando por inercia
void interrups_ext1(void){
if (bandera){
output_a(0xff);
bandera=0;
}
else{
output_a(0x00);}
}
y en mi paro de emergencia de mi motor necesito ponerlo a 1 toda mis salidas de mi pic para q entren en el ulm2803 y asi enclavar mi motor paso
a paso . mi diagrama tiene un pic el 18f4550,ulm2803,y un motor paso a paso
#INT_EXT / este es mi interrupcion B0 cuando mi interrupcion entre mi bandera si esta en cero la cambiara a 1 y si es uno a cero y cambiara el funcionamiento de mi programa principal lo encendera y para mi motor normalment.
void interrupts_ext0(void){
if (bandera){
bandera=0;
output_a(0x00);
}
else {
bandera=1;}
}
#INT_EXT1 /interrupcion B1 este funcionara cuando mi bandera este en uno la cambiara a cero por lo cual saldra en mis salida por todo el puerto a un 1 y asi anclando mi motor esta interrupcion es mi paro de emergencia amarra el motor para que no siga girando por inercia
void interrups_ext1(void){
if (bandera){
output_a(0xff);
bandera=0;
}
else{
output_a(0x00);}
}