Progetti

   

Sponsor

   

Servizi

   

Utilizzare la libreria USB Microchip

Valutazione attuale:  / 4
ScarsoOttimo 

Collegare un sistema Emebedded al PC è una di quelle cose che entusiasma tutti gli appassionati di elettronica ed informatica. Negli anni 90 il tutto era facilmente ottenibile con la porta parallela utilizzata per collegare le stampanti al PC. Grazie alle istruzioni IN e OUT, offerte dai linguaggi di programmazione come il BASIC, gestire la porta parallela era questione di pochi minuti. Con gli anni la porta parallela è scomparsa dai PC come anche la porta RS232 utilizzata per i Modem. La scomparsa dei due bus dai Personal Computer è legata all'introduzione del protocollo USB (Universal Serial Bus) introdotto appunto per poter supportare molteplici applicazioni utilizzando un solo bus. In questo tutorial vediamo i dettagli sul come utilizzare la libreria USB Microchip.

Articoli correlati

Utilizzare la libreria USB Microchip

 

File Type Download File   Version Last Update Description

Formato File pdf Download
1.1 05. Novembre 2017 Documentazione

 

 

 

Commenti   

Mauro Laurenti
0 #12 RE: Utilizzare la libreria USB MicrochipMauro Laurenti 2017-11-05 14:19
Citazione Baldassarre Cesarano:


Pagina 32, Nota:
...Il Baud Rate ... può essere variato a piacimento...
In realtà CDC è una port VIRTUALE quindi NON gestisce il b.r. e la velocità è sempre massima. Infatti se si imposta un baud rate bassissimo la velocità non cambia.


Una nota, bisogna distinguere la velocità con cui il PC comunica con il PIC/bridge e quello che il PIC/bridge invia in uscita.

Tra il PC-Bridge, il bit rate dipende dal protocollo USB ed è indipendente dalle impostazioni del bit rate della porta seriale. Si hanno sempre pacchetti da 64 bytes ogni 1ms. Il bridge però invia i bit in uscita (dal lato UART) a seconda del bit rate impostato, quindi riflette le impostazioni della porta seriale.

Saluti,

Mauro
Mauro Laurenti
0 #11 RE: Utilizzare la libreria USB MicrochipMauro Laurenti 2017-11-05 10:25
Salve Baldo,

correzioni fatte. Saranno a breve online.

Ancora grazie.
Saluti,

Mauro
Mauro Laurenti
0 #10 RE: Utilizzare la libreria USB MicrochipMauro Laurenti 2017-09-25 14:27
Sei proprio attento...

In questo caso magari lo terrei, visto che la documentazione Microchip dice di controllare sempre lo stato di TX ready prima di inviare. Anche se nel caso specifico e' controllato e' bene tenere una logica, visto che l'interno delle funzioni potrebbe anche cambiare con il tempo.

Un controllo in piu' non dovrebbe nuocere.

Grazie per l'ulteriore nota.

Saluti,

Mauro
Baldassarre Cesarano
0 #9 Sottigliezza..U SBUSARTIsTxTrfR eadyBaldassarre Cesarano 2017-09-22 09:17
Una piccola sottigliezza:
Il check di USBUSARTIsTxTrf Ready(), prima di putUSBUSART, putsUSBUSART ecc., è inutile, in quanto tale test viene già effettuato all'interno delle funzioni:
...
if(cdc_trf_state != CDC_TX_READY)
...

Vale però per la didattica... :lol:
Baldo
Mauro Laurenti
0 #8 RE: Utilizzare la libreria USB MicrochipMauro Laurenti 2017-09-14 17:18
Salve Baldo!

molte grazie ancora una volta.
Lettura accurata e con feedback...
Aggiornerò l'articolo e lo caricherò online al prossimo aggiornamento.

Saluti,

Mauro
Baldassarre Cesarano
0 #7 Qualche aggiustamento 3 (e basta)Baldassarre Cesarano 2017-09-11 16:13
Pagine 34 e 38:
Il seguente codice per il controllo di system_is_ready va riscritto per avere senso:

//...
if( USBGetDeviceSta te() < CONFIGURED_STAT E ){
system_is_ready = false;
} else {
system_is_ready = true;
//Controllo se il modulo è in stato suspend
if( USBIsDeviceSusp ended()== true ) {
system_is_ready = false;
} else {
system_is_ready = true;
//Inserendo qui il codice dell'if seguente non c'è bisogno di system_is_ready....
}
}
//Controllo i pulsanti solo se il sistema è pronto
if (system_is_read y == true){
//...
Baldassarre Cesarano
0 #6 Qualche aggiustamento 2Baldassarre Cesarano 2017-09-11 16:13
Pagina 29:
Rigo 2: ...alla variabile o Array... -> o all'array...
Nella descrizione di getsUSBUSART: ...della variabile, o Array... -> della variabile o dell'array (sen za virgola)

La signature di putrsUSBUSART è errata:
void putrsUSBUSART(c onst const char *data) deve essere void putrsUSBUSART(c onst ROM char *data)



Pagina 32, Nota:
...Il Baud Rate ... può essere variato a piacimento...
In realtà CDC è una port VIRTUALE quindi NON gestisce il b.r. e la velocità è sempre massima. Infatti se si imposta un baud rate bassissimo la velocità non cambia.
Baldassarre Cesarano
0 #5 Qualche aggiustamento (IMHO)Baldassarre Cesarano 2017-09-11 15:58
Pagina 18, rigo 2:
... le libreria MLA fornisce... ->forniscono

Pagina 10, Nota:
...sono presenti anche lo stato... ->gli stati
Pagina 28, rigo 4:
...Un latro vantaggio... ->altro


Pagina 35, ultimo paragrafo: ...I particolare... ->In particolare

Ciao
Baldo
Mauro Laurenti
0 #4 RE: Utilizzare la libreria USB MicrochipMauro Laurenti 2017-07-26 12:42
Ottimo!
Spero che con gli ultimi due tutorial abbia creato gli strumenti idonei per permettere anche un percorso "solitario".
Progetti con USB non mancheranno...

Saluti,

Mauro
edy
+1 #3 RE: Utilizzare la libreria USB Microchipedy 2017-07-20 04:41
I miei più sinceri complimenti. Tutorial ben fatto nonostante l'argomento sia complesso lo hai spiegato in modo semplice ed essenziale. Inoltre ho effettuato dei test direttamente con i pic18 e funzionano al primo avvio. Spero in futuro tu abbia il tempo e la voglia di approfondire ancora questo argomento.

Per commentare l'articolo bisogna Registrarsi o effettuare il Login.

   

Registrati  

   
© LaurTec 2006-2015