USB-CDC PIC 18F4550 interrupciones
Página 1 de 1.
USB-CDC PIC 18F4550 interrupciones
Hola a todos estoy realizando un pequeño proyecto con el PIC 18f4550 y la cx USB cdc, toda la comunicación anda muy bien pero el objetivo del proyecto es enviar un mensaje a la interfaz realizada en gambas cuando se active la interrupción int0, aqui es donde tengo errores no se como manejar la interrupción int0 junto con la comunicación USB ya q la primera ves funciona pero de ahi el PIC deja de funcionar.
He leido por ahi que hay prioridades en cuanto a las interrupciones ya q si comienza a analizar la interrupción deja en segundo plano a la cx USB(por lo tanto se desconecta como host) y luego ya no se puede volver a conectar.
Si alguien a realizado alguna aplicación de esta manera pido su ayuda gracias....
Adjunto el código, la función principal es que cundo llega un 1L a int0 me envie un mensaje
He leido por ahi que hay prioridades en cuanto a las interrupciones ya q si comienza a analizar la interrupción deja en segundo plano a la cx USB(por lo tanto se desconecta como host) y luego ya no se puede volver a conectar.
Si alguien a realizado alguna aplicación de esta manera pido su ayuda gracias....
Adjunto el código, la función principal es que cundo llega un 1L a int0 me envie un mensaje
- Código:
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#include <stdlib.h>
#include ".\include\usb_cdc.h" /*// Descripción de funciones del USB.*/
#include ".\include\usb_desc_cdc.h" /*// Descriptores del dispositivo USB.*/
#INT_EXT // Interrupción Externa por RB0
void IntRB0()
{
printf(usb_cdc_putc,"RB0 ACTIVADO \n\r");
}
void main() {
set_tris_a(0);
enable_interrupts(Int_Ext);
enable_interrupts(global); //habilita interrupciones globales
ext_int_edge(0,L_TO_H);
usb_cdc_init(); // Configuramos al puerto virtual.
usb_init(); // Inicializamos el stack USB.
while(!usb_cdc_connected()) {} // espera a detectar una transmisión de la PC (Set_Line_Coding).
do{
output_toggle(pin_a2);
delay_ms(500);
}while (TRUE); // bucle infinito.
}
smbr09- Nuevo Usuario
- Mensajes : 6
Fecha de inscripción : 23/02/2010
Temas similares
» Modificando el fichero signal.h
» Ejemplo de librería lcd_sdcc_sgr.h
» Duda sobre las interrupciones en SDCC
» Ejemplo: led parpadeante por interrupciones en BoostBasic.
» Control de Temperatura+Comunicacion USB con 18F4550
» Ejemplo de librería lcd_sdcc_sgr.h
» Duda sobre las interrupciones en SDCC
» Ejemplo: led parpadeante por interrupciones en BoostBasic.
» Control de Temperatura+Comunicacion USB con 18F4550
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|