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
- Il protocollo USB (tutorial propedeutico)
- Scheda di sviluppo Freedom III
- Scheda di sviluppo miniCOM USB
- Scheda di sviluppo Freedom Light
File Type | Download File | Version | Last Update | Description | |||||
|
|||||||||
Download | 1.1 | 05. Novembre 2017 | Documentazione |
RE: Utilizzare la libreria USB Microchip
Baldassarre Cesarano detto: 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,MauroRE: Utilizzare la libreria USB Microchip
Salve Baldo,correzion i fatte. Saranno a breve online.Ancora grazie.Saluti,MauroRE: Utilizzare la libreria USB Microchip
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,MauroSottigliezza..USBUSARTIsTxTrfReady
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_stat e != CDC_TX_READY)...Vale però per la didattica... BaldoRE: Utilizzare la libreria USB Microchip
Salve Baldo!molte grazie ancora una volta.Lettura accurata e con feedback...Aggiornerò l'articolo e lo caricherò online al prossimo aggiornamento. Saluti,MauroQualche aggiustamento 3 (e basta)
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){ //...Qualche aggiustamento 2
Pagina 29: Rigo 2: ...alla variabile o Array... -> o all'array... Nella descrizione di getsUSBUSART: ...della variabile, o Array... -> della variabile o dell'array (senza 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.Qualche aggiustamento (IMHO)
Pagina 18, rigo 2: ... le libreria MLA fornisce... ->forniscono Pagina 10, Nota: ...sono presenti anche lo stato... ->gli statiPagina 28, rigo 4: ...Un latro vantaggio... ->altro Pagina 35, ultimo paragrafo: ...I particolare... ->In particolareCiao BaldoRE: Utilizzare la libreria USB Microchip
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,MauroRE: Utilizzare la libreria USB Microchip
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.You don`t have permission to comment here!