PDA

Visualizza la versione completa : [C] Lettura da porta seriale e simulazione pressione tasti


iacoposk8
26-11-2009, 14:08
ciao a tutti!!!
un mio amico mi ha aiutato a creare un circuito che si collega tramite porta seriale
e funziona come una tastiera
schiacciando un tasto manda al pc una lettera
per utilizzarlo ci son dei programmi che prendono i segnali da seriale e poi li convertono in un carattere per pc... purtroppo questi programmi son tutti a pagamento e han funzioni che io non uso...
io vorrei sapere se è possibile fare un programma che legga da seriale e usi i caratteri che gli arrivano su windows ( non c'è bisogno di conversione perchè i caratteri arrivano già giusti..

ESSE-EFFE
26-11-2009, 14:15
io vorrei sapere se è possibile fare un programma che legga da seriale e usi i caratteri che gli arrivano su windows ( non c'è bisogno di conversione perchè i caratteri arrivano già giusti..

Sì, è possibile. Ma come intendi "usare" quei caratteri? Nello specifico, che problema di programmazione hai?

iacoposk8
26-11-2009, 14:53
io conosco conosco il c, l'ho fatto a scuola
però un programma del genere non saprei da dove cominciare
praticamente il circuito manda delle lettere al computer
e quelle lettere van già bene così come sono, non son caratteri che bisogna trasformare in lettere...
solo che per esempio se apro il blocco note e inizio a premere i tasti del circuito, non va, perchè serve il prgramma... sai indicarmi come fare per realizzarlo??

ESSE-EFFE
26-11-2009, 15:07
solo che per esempio se apro il blocco note e inizio a premere i tasti del circuito, non va, perchè serve il prgramma... sai indicarmi come fare per realizzarlo??

A grandi linee devi aprire la seriale, configurarla e metterti in ascolto. Ogni byte che ricevi lo elabori come vuoi e poi o lo visualizzi o lo invii ad altre applicazioni (come farlo dipende dall'applicazione stessa).

Prova con Hyper Terminal tanto per cominciare. Dovresti già visualizzare i caratteri ricevuti.

iacoposk8
26-11-2009, 15:25
con hyper terminal se schiaccio i tasti mi fa degli spazi bianchi ( sullo spazio del programma) e, se apro il blocco note non scrive nulla... però non so come impostarlo.. come faccio??

oregon
26-11-2009, 15:34
Il blocco note non c'entra nulla.

Se i dati arrivano dalla porta seriale, ci deve essere un programma che apre la seriale e la legge (e questo lo fa hyperterminal non il notepad).

Configura la comunicazione con hyperterminal con la velocità, numero di bit dati, parità e numero di bit di stop corretti, ad esempio

9600,n,8,1

ESSE-EFFE
26-11-2009, 15:36
con hyper terminal se schiaccio i tasti mi fa degli spazi bianchi ( sullo spazio del programma)

E' probabile allora che i byte ricevuti vadano interpretati in qualche modo, oppure semplicemente qualche parametro seriale è errato (il baud-rate ad esempio).


e, se apro il blocco note non scrive nulla...

Beh ovvio. Nessuno sta inviando i caratteri al Blocco note...


però non so come impostarlo.. come faccio??

Impostare cosa?

iacoposk8
26-11-2009, 15:43
non so appunto come impostare hyperterminal, io ho solo messo com 3
il resto non saprei come fare...

oregon
26-11-2009, 16:09
Originariamente inviato da iacoposk8
non so appunto come impostare hyperterminal, io ho solo messo com 3
il resto non saprei come fare...

T'ho detto quali parametri impostare ... devi sapere tu quali parametri usi per trasmettere i dati al PC ... inserisci gli stessi parametri.

denis76
26-11-2009, 17:34
Credo che devi fare un programma che monitora la seriale e che invia i byte letti alla finestra attiva mediante la funzione PostMessage o SendMessage di Windows. E' il trucco che si usa con programmi come vnc per capirci.
Cosa vi siete costruiti? Una tastiera speciale per persone disabili?

Loading