tuto carte acquisition USB 18f4550 jeudi 4 juillet 2013 14:50:12 |
Membre depuis : 10 ans Messages: 4 |
void ProcessIO(void) { int i; static pressed=0; unsigned char pulscounter2; unsigned char pulscounter; unsigned char pulscounter3; if (HIDRxReport(Buffer,PacketSize ) > 0) // USB receive buffer has data { PORTCbits.RC0 = 1; if (Buffer[33]==1){ for (i=0; i<Buffer[33]; i++) { PORTCbits.RC1 = 1; Delay10KTCYx(Buffer[33]); PORTCbits.RC1 = 0; Delay10KTCYx(Buffer[33]); } } if (Buffer[0]==0) { Buffer[33]=255; getacd(0, 1); Buffer[33] = ADRESH ; Buffer[33] = ADRESL ; } if(!mHIDTxIsBusy()) { // blocking HIDTxReport(Buffer, PacketSize ); } // transmit packet PORTCbits.RC0 = 0; } if (PORTCbits.RC2 == 0) { if (!pressed) { for (pulscounter2=0;pulscounter2<20;pulscounter2++) //20 { for (pulscounter=0;pulscounter<100;pulscounter++) //100 { LEDIR = 1 ; Delay10TCYx(5) ; LEDIR = 0 ; Delay10TCYx(5) ; Nop(); Nop(); } } _asm btfsc tsop2,0 bsf PORTB,3,0 btfss tsop2,0 bcf PORTB,3,0 btfsc tsop1,0 bsf PORTB,5,0 btfss tsop1,0 bcf PORTB,5,0 _endasm Delay1KTCYx(250) ; Delay1KTCYx(250) ; Delay1KTCYx(250) ; Buffer[0]=255; Buffer[1] = PORTBbits.RB5 ; Buffer[2] = PORTBbits.RB3 ; // Buffer[2] = ADRESL ; if(!mHIDTxIsBusy()) { // blocking HIDTxReport(Buffer, PacketSize ); // transmit packet pressed=1; } } } if (PORTCbits.RC2 == 1) { pressed=0; } }//end ProcessIO
Re: tuto carte acquisition USB 18f4550 jeudi 4 juillet 2013 17:44:51 |
Membre depuis : 10 ans Messages: 4 |
Re: tuto carte acquisition USB 18f4550 dimanche 7 juillet 2013 17:17:32 |
Administrateur Membre depuis : 18 ans Messages: 640 |
Re: tuto carte acquisition USB 18f4550 dimanche 7 juillet 2013 17:56:07 |
Membre depuis : 10 ans Messages: 4 |
Re: tuto carte acquisition USB 18f4550 mercredi 10 juillet 2013 17:25:57 |
Administrateur Membre depuis : 18 ans Messages: 640 |
beh imaginer que je crée une boucle de 500ma a la micro seconde prés....avec l'appelle de la fonction USBtask() tout les 100us... ma boucle ne sera plus précise, et on pourra pas faire un arrangement vus que cette dernier prend A PEU PRES 50 cycle (elle même n'étant pas précise), j'aurais bien aimé savoir pourquoi doit-on toujours maintenir la communication, et si c'était le cas pour tout les périphériques USB....imprimante par exemple, et a quoi ça sert? est-ce que c'est sa qui permet au PC de savoir qu un périphérique viens d’être déconnecter ?
Utilisateur anonyme
Re: tuto carte acquisition USB 18f4550 vendredi 11 avril 2014 05:54:21 |
Re: tuto carte acquisition USB 18f4550 vendredi 11 avril 2014 16:48:01 |
Administrateur Membre depuis : 18 ans Messages: 640 |