View Full Version : [ubuntu] le porte seriali e la programmazione
DomusP45
06-03-2012, 15:47
Salve a tutti...
devo creare un programma in C++ che gestisca una pinza connessa in modo seriale (tramite un adattatore SERIAL/USB) al pc linux ubuntu 10.04 LTS.
Il problema è che non riesco a far scrivere niente sulla porta seriale dev/ttyS0 o altre simili, ad aprire le apro ma a scriverci niente.
Ho lanciato minicom e l'ho settata correttamente, e niente...gtkterm e niente...eppure ho seguito pari pari le guide trovate su internet...la funzione write non riesce a scrivere sulla porta....dicendo Input/Output error...
Poi, volevo chiedere: come faccio a sapere quello che invio sulla porta se è quello che voglio?
esiste un simulatore/emulatore di porte COM che mi permetta di vedere cosa mando su una porta seriale? Insomma, che mi permetta di vedere cosa ho inviato dal programma?
Vi prego aiutatemi...sto impazzendo...:muro: :muro: :muro:
corvus ruber
06-03-2012, 15:59
Salve a tutti...
devo creare un programma in C++ che gestisca una pinza connessa in modo seriale (tramite un adattatore SERIAL/USB) al pc linux ubuntu 10.04 LTS.
Il problema è che non riesco a far scrivere niente sulla porta seriale dev/ttyS0 o altre simili, ad aprire le apro ma a scriverci niente.
Ho lanciato minicom e l'ho settata correttamente, e niente...gtkterm e niente...eppure ho seguito pari pari le guide trovate su internet...la funzione write non riesce a scrivere sulla porta....dicendo Input/Output error...
Poi, volevo chiedere: come faccio a sapere quello che invio sulla porta se è quello che voglio?
esiste un simulatore/emulatore di porte COM che mi permetta di vedere cosa mando su una porta seriale? Insomma, che mi permetta di vedere cosa ho inviato dal programma?
Vi prego aiutatemi...sto impazzendo...:muro: :muro: :muro:
Mai avuto il piacere di litigare con una seriale (men che meno in C++), quindi la butto lì: i permessi dell'utenza che esegue il programma consentono la scrittura ?
Per il resto non ti so dire, al limite prova a ravanare un po' via Software Center / Synaptic e vedi cosa salta fuori.
DomusP45
06-03-2012, 16:10
si i permessi ci sono...sto programmando dalla suite NetBeans...e come utente sto nel gruppo DialOut...
Nessuno mi sa aiutare??
nightborn
06-03-2012, 17:51
a parte le tristi questioni inerenti gli adattatori seriale/usb, che ti dice "dmesg" a pinza collegata (che così capiamo quale device stiamo usando) ?
Al posto della /dev/ttyS* hai già provato ad usare la /dev/cua* corrispondente?
DomusP45
06-03-2012, 18:25
a parte le tristi questioni inerenti gli adattatori seriale/usb, che ti dice "dmesg" a pinza collegata (che così capiamo quale device stiamo usando) ?
Al posto della /dev/ttyS* hai già provato ad usare la /dev/cua* corrispondente?
per darti questa info devi aspettare che sono in laboratorio con la pinza collegata...ora non c'è...
Ma una domanda: come posso fare per vedere cosa mando alla porta USB, anche se non ho collegato niente? NOn esiste un simulatore di porta seriale, di modo che posso provare i vari comandi prima di mandarli alla pinza direttamente?
nightborn
08-03-2012, 12:27
per darti questa info devi aspettare che sono in laboratorio con la pinza collegata...ora non c'è...
Ma una domanda: come posso fare per vedere cosa mando alla porta USB, anche se non ho collegato niente? NOn esiste un simulatore di porta seriale, di modo che posso provare i vari comandi prima di mandarli alla pinza direttamente?
Purtroppo alla tua domanda non so dare una risposta perchè non sono un programmatore di oggetti tipo il tuo.
Mi appello a vaghi ricordi di 15 (ma anche più) anni fa quando dovevo combattere con modems 28.8, multiseriali, lettori barcode su seriale e skimmers per lettura badge (sempre seriali) e a quel tempo non c'era l'usb
(ah e mi ricordo bene che minicom lo invocavo con "minicom -s" perchè ? Perchè quando non lo facevo, poi, imprecavo... :) ).
Quindi... dmesg è essenziale per capire come si comporta il kernel quando attacchi il convertitore usb/seriale (i.e. se inizializza un qualcosa tipo una 16550 su usb restando nelle dev relative all'usb o se aggiunge livelli di astrazione al tutto abilitando una nuova seriale) di conseguenza, quindi, se andremo a "giocare" con una /dev/ttyS (o /dev/cua) o, invece, troverò il tuo oggetto tra le /dev che pilotano l'usb.
Tutto ciò a patto che il tuo convertitore venga digerito dal kernel e dall'hardware usb della tua macchina.
Ad ogni modo, se trovo documentazione, mi rifaccio vivo.
nightborn
08-03-2012, 12:31
Rieccomi.
La freschezza di questa informazione non so quale sia, tuttavia dagli un occhio:
http://www.linux-usb.org/USB-guide/x356.html
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.