Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

comunicazione tra PC e microcontrollori

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] comunicazione tra PC e microcontrollori

Messaggioda Foto UtenteRabeluk » 19 mag 2013, 21:40

salve a tutti,
sto studiando un po' in generale i micro ed in particolare quelli della famiglia avr...
ora sto cercando di capire bene come funziona la faccenda delle comunicazioni seriali...
ho visto come riuscire a far comunicare il micro col PC tramite protocollo RS232 utilizzando l'hyperterminal.. ma correggetemi se sbaglio.. in questo modo riesco solo a comunicare con la tastiera?
quello che mi chiedo é: se io volessi far comunicare il PC con il micro,in modo che riesca ad esempio a capire quando sto riproducendo un file audio e poi riuscire a lavorare su questo in modo da far fare qualcosa al micro, come devo comportarmi?
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

0
voti

[2] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto UtenteCandy » 19 mag 2013, 21:59

Penso che ul tuo problema sia una mancanza di rudimenti di programmazione.
HT non fa altro che impiegare la porta seriale indicatagli. Se lo fai fare ad altri programmi puoi mandare a dire cosa vuoi al PIC.
Avatar utente
Foto UtenteCandy
32,5k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10129
Iscritto il: 14 giu 2010, 22:54

1
voti

[3] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto UtenteTardoFreak » 19 mag 2013, 22:30

Come dice Foto UtenteCandy puoi fare un programma che usa una porta seriale.
HT è uno di questi programmi. Ogni carattere ricevuto dalla tastiera viene inviato sulla porta seriale ed ogni carattere ricevuto lo sbatte sullo schermo.
Ma si possono scrivere milioni di programmi che usano la seriale e che, magari, non usano tastiera o schermo.

Mettiamola così, vediamola dal lato micro.
La tua domanda diventerebbe: "Ho visto un progetto che usa un micro, che dispone di un' interfaccia VGA ed è collegato ad una tastiera. Il programma legge i caratteri dalla tastiera e li invia tramite l' UART ed i caratteri ricevuti li visualizza sulla VGA. Mi pare di capire che posso usare il micro solo in questo modo".
La risposta è: ovviamente no, dipende da cosa fa il programma.
Scrivendo un programma diverso farebbe una cosa diversa.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,8k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15763
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[4] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto UtenteRabeluk » 20 mag 2013, 12:01

ma questo programma lo devo scrivere sul PC?
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

2
voti

[5] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto Utenterusty » 20 mag 2013, 12:19

Il programma lato PC devi vederla come un'applicazione che gira, appunto sul PC, e che comunicando tramite protocollo RS-232 invia e riceve dati da una porta seriale (che puo' essere nella fattispecie la USB), al posto di HT puoi usare anche, ad esempio, PuTTY.
Ti si aprira' una console testuale che attende delle stringhe da mandare via porta seriale al tuo microcontrollore, e che puo' anche ricevere delle stringhe dal microcontrollore e visualizzarle.
Queste stringhe dovranno essere riconosciute dal microcontrollore come istruzioni di dati o di controllo per fare qualcosa dal lato micro (accendere dei led, azionare motori, ecc...).
Anche il micro puo' comunicare verso il PC, per ritornare dei valori o delle risposte.
Tutto sta in piedi finché tu decidi "come" devono parlare per capirsi a vicenda, inventandoti una sorta di codice riconosciuto da entrambe (esempio se mando una certa stringa "LED_ON" o "LED_OFF" da PC a micro questo dovra' accendere o spegnere un led su una porta predefinita, questo codice lo chiamiamo payload.
Il protocollo di comunicazione invece è proprio l'RS-232, che realizzerai usando la USART del microcontrollore e "aprendo"una porta seriale via USB dal lato PC ad esempio con delle librerie chiamate "libusb".
Un altro modo sarebbe quello di usare le librerie gratuite V-USB, dove la comunicazione avviene via seriale con protocollo USB, sia lato PC (sempre con un driver libusb) sia lato microcontrollore con le librerie V-USB.
In questo secondo caso il tuo microcontrollore diventera' una vera e propria periferica USB con il suo VendorID e ProductID, e il programma lato PC dovra' inizializzare e comunicare tramite la USB con delle funzioni specifiche, definite appunto dentro le librerie libusb32 (se usi MS Win).
Questo secondo modo di comunicare è molto piu' complesso sia per l'inizializzazione che per la comunicazione, ma è di fatto molto piu' veloce della RS-232 (che nel caso USB sara' installata come una COM virtuale dal lato PC), essendo il protocollo USB usato proprio quello nativo e non una seriale "fittizia" installata via USB.
L'argomento è al contempo semplice nel caso RS-232 COM virtuale via USB, ma molto complesso nel caso nativo usando le VUSB, in entrambe i casi si richiede una certa padronanza della programmazione sia lato microcontrollore che lato PC.

Nel mio blog, in firma qua sotto, puoi vedere la complicanza di un driver USB per un HID (Human Interface Device) utilizzando un PIC18F2550, tutto quel bordello manda per ora solo un byte da PC a microcontrollore, ma il livello di complicazione è gia' non banale, paragonato a quello che realmente fa' (mandare uno schifosissimo byte), che in teoria dovrebbe essere una barzelletta.... ma tant'è, windows gestisce la USB e le periferiche HID in modo molto macchinoso, e ho imparato ad odiare il protocollo USB, tanto semplice e carino finché non ci metti mano ;-)
Avatar utente
Foto Utenterusty
4.075 2 9 11
Utente disattivato per decisione dell'amministrazione proprietaria del sito
 
Messaggi: 1578
Iscritto il: 25 gen 2009, 13:10

0
voti

[6] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto UtenteRabeluk » 20 mag 2013, 12:43

leggendo le vostre risposte credo di aver chiesto qualcosa al di la delle mie capacità e conoscenze attuali...... molto probabilmente devo partire da zero. Il problema è che è molto difficile riuscire a capire da dove devo iniziare... potreste darmi una mano in questo?
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

0
voti

[7] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto Utenterusty » 20 mag 2013, 12:55

Non saprei darti una risposta precisa, non sapendo cosa gia' sai sui micro in generale o sugli AVR in particolare.
Avatar utente
Foto Utenterusty
4.075 2 9 11
Utente disattivato per decisione dell'amministrazione proprietaria del sito
 
Messaggi: 1578
Iscritto il: 25 gen 2009, 13:10

0
voti

[8] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto UtenteRabeluk » 20 mag 2013, 13:03

sto studiando sul libro di John Morton (AVR an introductory course)
e sono a buon punto..
mi manca di capire bene come funzionano l'ADC,la EEPROM,PWM e UART ma a grandi linee già qualcosina l'avevo vista in precedenza
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

0
voti

[9] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto UtenteTardoFreak » 20 mag 2013, 13:05

Hai già scritto programmi per PC?
Se si, quali linguaggi hai utilizzato?
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,8k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15763
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[10] Re: comunicazione tra PC e microcontrollori

Messaggioda Foto UtenteRabeluk » 20 mag 2013, 13:05

si certo, solo java
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

Prossimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti