PHP:
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#define LED1 PIN_A5
#define LED2 PIN_B4
#define LED3 PIN_B5
#define BUTTON PIN_A4
#define LED_ON output_low
#define LED_OFF output_high
#define USB_CON_SENSE_PIN PIN_B2
#define USB_EP1_TX_ENABLE USB_ENABLE_INTERRUPT
#define USB_EP1_TX_SIZE 8
#define USB_EP1_RX_ENABLE USB_ENABLE_INTERRUPT
#define USB_EP1_RX_SIZE 8
#define MOUSE_SEQUENCE_STEPS 16
#include <pic18_usb.h>
#include <usb_desc_mouse.h>
#include <usb.c>
const char mouse_seq[MOUSE_SEQUENCE_STEPS]={0, 1, 3, 4, 4, 4, 3, 1, 0, -1, -3, -4, -4, -4, -3, -1};
int8 out_data[4]={0,0,0,0};
int8 x_seq=0;
int8 y_seq=MOUSE_SEQUENCE_STEPS/4;
int8 count=0;
void main(){
LED_ON(LED1);
LED_OFF(LED2);
LED_OFF(LED3);
usb_init_cs();
usb_init();
while(TRUE){
if(usb_attached())
LED_ON(LED2);
else
LED_OFF(LED2);
if(usb_enumerated()){
LED_ON(LED3);
out_data[1]=mouse_seq[x_seq];
out_data[2]=mouse_seq[y_seq];
if(usb_put_packet(1,out_data,4,USB_DTS_TOGGLE))
count++;
if(count>10){
if(++x_seq>=MOUSE_SEQUENCE_STEPS)
x_seq=0;
if(++y_seq>=MOUSE_SEQUENCE_STEPS)
y_seq=0;
}
delay_ms(10);
}
else
LED_OFF(LED3);
}
}
Lo que hace el codigo es que se detecta al pic como un mouse y el puntero empieza a girar el circulos pequenos cada determinado tiempo , lo que queremos es agregar push button que den la funcion de movimiento y click