Hola electrónicos
Bueno pues me estoy en enseñado a programar, y estoy haciendo este pequeño programa para saber manejar interrupciones externas, este programa es para cambio de giro de un motor de CD y hasta ahora e logrado que cambie de giro pero quisiera por medio de otra interrupción detener el motor, osea que sea cual sea hacia el lado que gire que por medio de otro logicsState o un push button lo pueda detener, pero no se como y ya le moví bastante, el programa es el siguiente:
#include <intext.h>
#int_EXT
void EXT_isr(void)
{
output_low(PIN_B7); // si esta en bajo lo apago
output_high(PIN_B6); // si esta en alto lo enciendo
}
#int_EXT1
void EXT1_isr(void)
{
output_high(PIN_B7); // si esta en alto lo enciendo
output_low(PIN_B6); // si esta en bajo lo apago
}
void main()
{
setup_timer_3(T3_DISABLED | T3_DIV_BY_1);
enable_interrupts(INT_EXT); //habilito interrucpion externa
enable_interrupts(INT_EXT1);
enable_interrupts(INT_EXT2);
enable_interrupts(GLOBAL); //habilito interrupcines globales
//disable_interrupts(INT_EXT);
while(TRUE)
{
//TODO: User Code
}
}
ojala puedan ayudarme, de antemano gracias
(adjunto la imagen de proteus)
Bueno pues me estoy en enseñado a programar, y estoy haciendo este pequeño programa para saber manejar interrupciones externas, este programa es para cambio de giro de un motor de CD y hasta ahora e logrado que cambie de giro pero quisiera por medio de otra interrupción detener el motor, osea que sea cual sea hacia el lado que gire que por medio de otro logicsState o un push button lo pueda detener, pero no se como y ya le moví bastante, el programa es el siguiente:
#include <intext.h>
#int_EXT
void EXT_isr(void)
{
output_low(PIN_B7); // si esta en bajo lo apago
output_high(PIN_B6); // si esta en alto lo enciendo
}
#int_EXT1
void EXT1_isr(void)
{
output_high(PIN_B7); // si esta en alto lo enciendo
output_low(PIN_B6); // si esta en bajo lo apago
}
void main()
{
setup_timer_3(T3_DISABLED | T3_DIV_BY_1);
enable_interrupts(INT_EXT); //habilito interrucpion externa
enable_interrupts(INT_EXT1);
enable_interrupts(INT_EXT2);
enable_interrupts(GLOBAL); //habilito interrupcines globales
//disable_interrupts(INT_EXT);
while(TRUE)
{
//TODO: User Code
}
}
ojala puedan ayudarme, de antemano gracias
(adjunto la imagen de proteus)