|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
17-11-2005, 18.00.07 | #1 |
Gold Member
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
|
[c] multithread e porta seriale - RISOLTO con DUBBIO
Fino a un paio di giorni fa ero riuscito, grazie alla funzione SELECT a scrivere sulla porta e nel contempo ad avere un loop continuo per l'ascolto della porta. Dato che il protocollo dei 2 dispositivi prevede che il dispositivo remoto riceva delle stringhe ogni 2 secondi per mantenere attiva la comunicazione, ho pensato di aggiungere un thread concorrente che scrivesse la stringa sulla seriale ogni 2 secondi. Compilo, lancio l'esecuzione, aspetto che i 2 dispositivi si riconoscano e poi parte il thread concorrente. Purtroppo nn fa qllo che spero: manda semplicemente una serie di caratteri INVIO (o A CAPO, dovrei verificare) finche' l'applicazione crasha con un messaggio di "segmentation fault". Da ql momento nn sono piu' riuscito a far andare la mia applicazione: anche se tolgo la parte relativa al multithreading, il comportamento e' sempre lo stesso. Anche se provo con versioni vecchie (e sicuramente funzionanti): lancio l'eseguibile, il cursore si muove un po' sullo schermo e dopo un 2-3 secondi segmentation fault Ho creato un file di testo in cui metto tutto qllo che arriva dalla seriale e ho visto che vengono inviati solo caratteri INVIO. Ho provato a ricompilare, a riavviare il sistema e lanciare subito l'eseguibile di una vecchia versione: sempre lo stesso errore. Ho provato a far girare un'altra applicazione con multithread (senza coinvolgere la seriale) e funziona senza problemi. Anche minicom funziona senza problemi, ma la mia applicazione no. Cosa puo' essere successo? Cosa posso controllare?
___________________________________
Ultima modifica di Gergio : 21-11-2005 alle ore 18.19.36 |
18-11-2005, 16.51.44 | #2 |
Gold Member
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
|
aggiornamento
trovato e corretto un errore: la creazione del thread concorrente avviene all'interno di un loop. Prima mancava il controllo che consentisse la creazione di un solo thread, per cui a ogni ciclo (credo) veniva creato un nuovo thread. Il problema, cmq, persiste.
___________________________________
|
21-11-2005, 18.21.08 | #3 |
Gold Member
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
|
risolto
dopo vari tentativi ho provato ad aumentare il buffer associato alla porta seriale ed e' andato tutto a posto. Mi rimane un dubbio: perche' anche le versioni vecchie del mio programma (e qndi gia' compilate e funzionanti) nn funzionavano piu'?
___________________________________
|
21-11-2005, 23.21.03 | #4 |
Gold Member
Top Poster
Registrato: 07-04-2000
Loc.: Padova-Vicenza
Messaggi: 4.814
|
Potrebbe essere che le impostazioni della seriale (quelle impostate dal sistema) siano cambiate.
___________________________________
Con il PC risolvo molti problemi che prima non avevo. - Coltiva Linux che Windows si pianta da solo! |
22-11-2005, 10.42.58 | #5 |
Gold Member
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
|
Grazie per la risposta
Nn saprei: in avvio del mio sw salvo le impostazioni correnti della porta, gli applico le mie impostazioni e in chiusura gli riapplico le impostazioni originarie. D'accordo che se il programma termina con un errore run time nn posso riapplicargli le impostazioni originarie, ma le mie impostazioni in apertura dovrebbero essere correttamente impostate. Nn so che pensare, ma adesso funziona Magari adesso provo a giocare un po' con il buffer per vedere se ci capisco qlcosa...
___________________________________
|
06-12-2005, 16.40.18 | #6 |
Newbie
Registrato: 06-12-2005
Loc.: Casalmaggiore
Messaggi: 4
|
A me non interessa il contenuto dell'allegato, solo il nome e il fatto che c'è. Mi serve perchè rimanga traccia del fatto che, insieme al messaggio e-mail, c'era appunto un allegato, indipendentemente dal tipo/contenuto.
|
06-12-2005, 17.23.33 | #7 |
Gold Member
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
|
in effetti anche a me nn interessa il contenuto dell'allegato...
___________________________________
|
06-12-2005, 17.30.00 | #8 |
Newbie
Registrato: 06-12-2005
Loc.: Casalmaggiore
Messaggi: 4
|
Ooops!! scusa, ho sbagliato a postare !!!
Comunque ho avuto anch'io a che fare con le porte seriali e, ovviamente, ho avuto problemi, ho saputo anche che su alcuni PC la porta seriale è solo simulata, in realtà si tratta di una porta USB camuffata, inoltre potresti avere problemi a causa di buffer (hardware o software) non correttamente svuotati e/o inizializzati... Perlomeno questi erano i problemi che ho riscontrato dovendo gestire quella porta.... |
06-12-2005, 17.34.09 | #9 |
Gold Member
Registrato: 14-06-2001
Loc.: LC
Messaggi: 2.415
|
la mia era solo una battuta
cmq grazie dei consigli
___________________________________
|
16-02-2008, 11.53.07 | #10 |
Newbie
Registrato: 16-02-2008
Messaggi: 1
|
è un po tardi ma mi permetto di segnalarti questi 4 tutorial fatti da un amico
http://www.codicefacile.it/tutorials....php/21/Cenni+ di+programmazione+multi-threading http://www.codicefacile.it/tutorials....php/22/Cenni+ di+programmazione+multi-threading+-+parte+2 http://www.codicefacile.it/tutorials....php/39/Cenni+ di+programmazione+multi-threading+-+parte+3 http://www.codicefacile.it/tutorials....php/41/Cenni+ di+programmazione+multi-threading+-+parte+4 |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
[XP PRO]dubbio su utilizzo seriale... | cippico | Windows 7/Vista/XP/ 2003 | 12 | 07-03-2008 20.26.55 |
porta 4662 | kilyan | Internet e Reti locali | 2 | 15-12-2006 10.36.29 |
Nuovo Case, Problema con Porta USB anteriore | JuSTeR | Hardware e Overclock | 6 | 22-08-2006 17.47.13 |
Duallink e acces point domanda | jannaz | Internet e Reti locali | 10 | 09-12-2004 22.07.01 |
problemi con porta infrarossi | linotarga | Windows 7/Vista/XP/ 2003 | 1 | 11-10-2004 12.57.13 |