voici la structure proprement dite : il ya trop de truc et je n'y vois pas clair.
cette structure sert a la reception de donnee usb sur un PIC 18f4550.
le pic recoit plusieurs buffer 0, buffer 1, buffer2 et tous ca semble disptcher la dedenas mais comment?????
je viens soliciter votre aideCode:typedef union DATA_PACKET { byte _byte[USBGEN_EP_SIZE]; //For byte access word _word[USBGEN_EP_SIZE/2];//For word access(USBGEN_EP_SIZE msut be even) struct { enum //PROTOCOLO { READ_VERSION = 0x00, SALIDA_DIGITAL_BYTE = 0x10, SALIDA_DIGITAL_BIT = 0x11, ENTRADA_DIGITAL_BYTE = 0x12, ENTRADA_DIGITAL_BIT = 0x13, SALIDA_ANALOGICA = 0x14, ENTRADA_ANALOGICA = 0x15, RESET = 0xFF }CMD; byte len; }; struct //SALIDAS DIGITALES. LAS 8 SALIDAS DIGITALES CONTROLADAS SIMULTANEAMENTE (BYTE) { unsigned :8; byte salida_digital_byte_valor; //DATO A ESCRIBIR EN LAS SALIDAS DIGITALES (0-255) }; struct //SALIDAS DIGITALES. CONTROL INDIVIDUAL DE UNA DE LAS 8 SALIDAS (BIT) { unsigned :8; byte salida_digital_bit_numero_sali da; //NÚMERO DE SALIDA A CONTROLAR (0-7) byte estado_salida_digital; //VALOR PARA ESA SALIDA (0-1) }; struct //ENTRADAS DIGITALES. LAS 8 ENTRADAS DIGITALES LEIDAS SIMULTANEAMENTE (BYTE) { unsigned :8; byte entrada_digital_byte; //VALOR LEIDO DE LAS ENTRADAS DIGITALES (0-255) }; struct //ENTRADAS DIGITALES. LECTURA INDIVIDUAL DE UNA DE LAS 8 ENTRADAS (BIT) { unsigned :8; byte entrada_digital_bit_numero_ent rada; //NÚMERO DE ENTRADA A LEER (0-7) byte estado_entrada_digital; //VALOR LEIDO ESA ENTRADA (0-1) }; struct //SALIDAS ANALÓGICAS. CONTROL INDIVIDUAL DE UNA DE LAS DOS SALIDAS ANALÓGICAS { unsigned :8; byte salida_analogica_byte_numero_s alida; //NÚMERO DE SALIDA A CONTROLAR (0-1) byte valor_salida_analogica_H; //VALOR A ESCRIBIR EN SALIDA ANALÓGICA byte valor_salida_analogica_L; //ENTRE LAS DOS --> RANGO (0-1023) }; struct //ENTRADAS ANALÓGICAS. LECTURA INDIVIDUAL DE UNA DE LAS 8 ENTRADAS { unsigned :8; byte entrada_analogica_numero_entra da; //NÚMERO DE ENTRADA A LEER (0-7) byte valor_entrada_analogica_H; //VALOR A LEER EN ENTRADA ANALÓGICA byte valor_entrada_analogica_L; //ENTRE LAS DOS --> RANGO (0-1023) }; } DATA_PACKET;
merci d'avance
kix
-----