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
