señores he logrado gracias a la informacion obtenida en la pagina hobbypic, transmitir desde el pc al pic por usb he logrado encender leds y ademas de esto leer unamemoria serial aqui les dejo los programas en VB 6.0 y picc V4.0 a los interesados les comento que no e terminado el proyecto pero seguire mostrando aqui los avances del mismo...
codigo en VB6.0:
Private Sub Check1_Click() 'led verde
Dim enviar(0 To 64) As Byte
If Check1.Value = 1 Then
enviar(0) = 1
If (Send(enviar, 2, 1000) <> 1) Then
MsgBox "Fallo en el LED"
End If
Else
enviar(0) = 4
If (Send(enviar, 2, 1000) <> 1) Then
MsgBox "Fallo en el LED"
End If
End If
End Sub
Private Sub Check2_Click() 'led azul
Dim enviar(0 To 64) As Byte
If Check2.Value = 1 Then
enviar(0) = 2
If (Send(enviar, 2, 1000) <> 1) Then
MsgBox "Fallo en el LED"
End If
Else
enviar(0) = 5
If (Send(enviar, 2, 1000) <> 1) Then
MsgBox "Fallo en el LED"
End If
End If
End Sub
Private Sub Check3_Click() 'led rojo
Dim enviar(0 To 64) As Byte
If Check3.Value = 1 Then
enviar(0) = 3
If (Send(enviar, 2, 1000) <> 1) Then
MsgBox "Fallo en el LED"
End If
Else
enviar(0) = 6
If (Send(enviar, 2, 1000) <> 1) Then
MsgBox "Fallo en el LED"
End If
End If
End Sub
Private Sub Form_Load()
myInPipe = INVALID_HANDLE_VALUE
myOutPipe = INVALID_HANDLE_VALUE
OpenMPUSBDevice
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim enviar(0 To 64) As Byte
enviar(0) = &H63
If (Send(enviar, 2, 1000) <> 1) Then
MsgBox "Fallo en el LED"
End If
CloseMPUSBDevice
End Sub
codigo en picc V4.0:
#include <18F4455.h>
#byte puerto_a=0xf80
#byte puerto_b=0xf81
#byte puerto_d=0xf83
#byte puerto_c=0xf82
#byte puerto_e=0xf84
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV2,VREGEN
#use delay(clock=10000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#define USB_HID_DEVICE FALSE
#define USB_EP1_TX_ENABLE USB_ENABLE_BULK // turn on EP1(EndPoint1) for IN bulk/interrupt transfers
#define USB_EP1_RX_ENABLE USB_ENABLE_BULK // turn on EP1(EndPoint1) for OUT bulk/interrupt transfers
#define USB_EP1_TX_SIZE 32 // size to allocate for the tx endpoint 1 buffer
#define USB_EP1_RX_SIZE 32 // size to allocate for the rx endpoint 1 buffer
#include <pic18_usb.h>// Microchip PIC18Fxx5x Hardware para el CCS PIC USB Driver
#include <PicUSB.h> // Configuración del USB y los descriptores para este dispositivo
#include <usb.c> // Handles usb ,tokens y descriptores
#include <lcd_IUT.h> // libreria de la pantaya lcd del proyecto
#include <men_serial_ex_iut_pic18.h> //libreria de memoria serial externa del proyecto
int8 recepcion[32];
void main(void)
{
set_tris_a(0x00);
set_tris_d(0x00);
set_tris_e(0x00);
puerto_a=0xff;
direccion1=0x00;
direccion2=0x00;
dato_men=3;
escribir_men_ex();
inicio_lcd();
control(0x80);
dato("maqueta de");
control(0x90);
dato("aprendisaje usb.");
usb_init();
usb_task();
usb_wait_for_enumeration();
enable_interrupts(global);
while(TRUE)
{
if(usb_enumerated()) // Si el PicUSB está configurado
{
delay_ms(1000);
if (usb_kbhit(1))
{
usb_get_packet(1, recepcion, 32);
// Comando : led verde encendido
if(recepcion[0]==1){
bit_clear(puerto_a,1);
control(0x80);
dato("verde");
direccion1=0x00;//leo memoria serial externa
direccion2=0x00;
leer_men_ex();
dato(dato_men+48);
}
// Comando : led azul encendido
if(recepcion[0]==2){
bit_clear(puerto_a,2);
control(0x80);
dato("azul");
}
// Comando : led rojo encendido
if(recepcion[0]==3){
bit_clear(puerto_a,3);
control(0x80);
dato("rojo");
}
// Comando : led verde apaga
if(recepcion[0]==4){
bit_set(puerto_a,1);
}
// Comando : led azul apaga
if(recepcion[0]==5){
bit_set(puerto_a,2);
}
// Comando : led rojo apaga
if(recepcion[0]==6){
bit_set(puerto_a,3);
}
// Comando : led rojo apaga
if(recepcion[0]==0x63){
control(0x80);
dato("sin conexion");
}
}
}
}
}
sin mas comentarios gracias a la ayuda de la pagina hobbypic es de gra ayuda la recomiendo....
seguire en contacto para brindar mas informacion....