#include<18F4550.h>
#device ADC=10
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,MCLR,NOPBADEN
#use delay(clock=48000000)
#define USB_HID_DEVICE FALSE
#define USB_EPI_TX_ENABLE USB_ENABLE_BULK
#define USB_EPI_RX_ENABLE USB_ENABLE_BULK
#define USB_EPI_TX_SIZE 64
#define USB_EPI_RX_SIZE 64
#include<pic18_usb.h>
#include<usb_desc_scope.h>
#include<usb.c>
#define LEDR PIN_C6
#define LED_ON output_high
#define LED_OFF output_low
#BYTE TRISA = 0x0F92
#BYTE TRISB = 0x0F93
#BYTE PORTA = 0x0F80
#BYTE PORTB = 0x0F81
#BYTE ADCON1 = 0x0FC1
#BYTE CMCON = 0x0FB4
int8 dato[64];
void main(void){
int16 A,D;
int8 B,C,E,F,i;
setup_adc_ports(ALL_ANALOG);
setup_adc_ports(AN0|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_32);
setup_counters(RTCC_INTERNAL,RTCC_DIV_256);
usb_init();
usb_task();
usb_wait_for_enumeration();
TRISA = 0x0FF;
TRISB = 0x00;
ADCON1 = 0x0F;
CMCON = 0x07;
while(TRUE)
{
for(i=0; i<16; i++)
{
if(usb_enumerated())
{
set_timer0(0);
LED_ON(LEDR);
set_adc_channel(0);
A=read_adc();
delay_us(200);
LED_OFF(LEDR);
B=A>>8;
prueba:if(A>=256)
{
A=A-256;
goto prueba;
}
C=A;
delay_us(200);
LED_ON (LEDR);
set_adc_channel(1);
D=read_adc();
delay_us(200);
LED_ON(LEDR);
E=D>>8;
prueba1:if(D>=256)
{
D=D-256;
goto prueba1;
}
F=D;
dato[(i*4)+0]=B;
dato[(i*4)+1]=C;
dato[(i*4)+2]=E;
dato[(i*4)+3]=F;
while(get_timer0()<48);
}
}
usb_put_packet(1,dato,64,USB_DTS_TOGGLE);
}
}#include<18F4550.h>
#device ADC=10
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,MCLR,NOPBADEN
#use delay(clock=48000000)
#define USB_HID_DEVICE FALSE
#define USB_EPI_TX_ENABLE USB_ENABLE_BULK
#define USB_EPI_RX_ENABLE USB_ENABLE_BULK
#define USB_EPI_TX_SIZE 64
#define USB_EPI_RX_SIZE 64
#include<pic18_usb.h>
#include<usb_desc_scope.h>
#include<usb.c>
#define LEDR PIN_C6
#define LED_ON output_high
#define LED_OFF output_low
#BYTE TRISA = 0xF92
#BYTE TRISB = 0xF93
#BYTE PORTA = 0xF80
#BYTE PORTB = 0xF81
#BYTE CMCON = 0xFB4
#BYTE ADCON0 = 0xFC2
#BYTE ADCON1 = 0xFC1
#BYTE ADCON2 = 0xFC0
#bit FADC = 0xFC2.1
int8 dato[64];
int8 bmes1,bmes2,bmas1,bmas2,i;
int16 lectura;
void main(void){
TRISA = 0xFF;
TRISB = 0x00;
CMCON = 0x07;
ADCON1 = 0x00;
ADCON2 = 0xAE;
usb_init();
usb_task();
usb_wait_for_enumeration();
while(TRUE)
{
for(i=0; i<16; i++)
{
if(usb_enumerated())
{
LED_ON(LEDR);
ADCON0 = 0X01;
while(!FADC==1){}
lectura=read_adc();
delay_us(100);
LED_OFF(LEDR);
bmes1 = lectura;
bmas1 = lectura>>8;
delay_us(100);
LED_ON (LEDR);
ADCON0 = 0X05;
while(!FADC==1){}
lectura=read_adc();
delay_us(100);
LED_ON(LEDR);
bmes2 = lectura;
bmas2 = lectura>>8;
dato[(i*4)+0]=bmas1;
dato[(i*4)+1]=bmes1;
dato[(i*4)+2]=bmas2;
dato[(i*4)+3]=bmes2;
}
}
usb_put_packet(1,dato,64,USB_DTS_TOGGLE);
}
}
... lo malo es que aun no logro hacer que la laptop me reconosca bien la tarjeta aun tengo el problema de que me la reconoce pero sale en el administrador de dispositivos con advertencia.