Newsgroup: it.comp.programmare.win32
Titolo: ancora sulla seriale

prima di tutto grazie a chi mi ha risposto al thread di prima, sto
andando avanti con il codice (e manuali alla mano)
ora ho un problema di concetto (stupido, ma per me e' un problema)
ho creato un task che scrive sul buffer della com1 ,richiama la
WriteFile e va a scrivere sulla seriale, poi tramite la ReadFile vedo
quello che ho scritto nel buffer di ricezione...
il problema e' questo: a casa (e non al lavoro) ho attaccato un modem
sulla com1, gli mando messaggi come "prova trasmissione", lui li scrive
poi li va a leggere tranquillamente
Devo collegare due computer tramite un cavo sulla seriale com1 e devo
trasferire dei dati da una macchina all'altra tramite un programma
(utilizzo il vc++)
Il problema e' il seguente, ho collegato due computer tramite un cavo
che collega le due porte seriali (9 pin), lancio i due programmi (quello
su una macchina sta in listen, l'altro scrive sulla seriale... e lo
manda tramite la WriteFile sulla com1 che DOVREBBE, tramite cavo,
trasmettere i dati alla com1 dell'altro computer)
Esito, il programma che sta in listen su un computer interroga
regolarmente la sua com1, ma non gli arriva niente!!!
acccetto consigli, perche' sono un po' stanco di fare le due di notte!!!
ciao e grazie in anticipo!!!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 
Tra i due PC stai usando un cavo incrociato, vero?
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

Tra i due PC stai usando un cavo incrociato, vero?
no ho comprato un cavo (credo sia half duplex) che connette 
direttamente le due porte seriali com1 dei due computer...
l'alloggiamenti su entrambi i computer erano maschi, ho comprato un 
cavo con un maschio e una femmina, piu' un adattatore che mi trasforma 
il maschio in femmina...
ho fatto un ca***ta, vero???
ciao Walter e grazie in anticipo!!!




Per eseguire un test prova ad utilizzare l'Hyper Terminal e verifica
se il cavo e porte funzionano.
Saluti

 
Non saprei. Prova a vedere se il cavo funziona utilizzando un altro 
programma (Hyperterminal, ad esempio). 
In questo caso si tratta di un problema software del tuo programma 
(controlla, se non lo fai gią, se Read o WriteFile o le altre API di 
comunicazione tornano errori).


quello che ho scritto nel buffer di ricezione...
Stavo proprio cercando informazioni su come scrivere e leggere
dati dalla seriale (gestendola come file). Potresti postare il
tuo esempio ?
 Gestire invece la seriale leggendo direttamente i valori all'indirizzo
in memoria a cui è mappata ? Diventa un incubo ?
Saluti.

Stavo proprio cercando informazioni su come scrivere e leggere
dati dalla seriale (gestendola come file). Potresti postare il
tuo esempio ?
ehm... sto scrivendo alcune righe di codice in concomitanza con lo 
studio del multitasking (mi servono dei thread sincronizzati)
onestamente ho scritto solo codice per aprire la porta e,
momentaneamente
per spedire un "singolo" byte
se credi che ti possa interessare te lo posto, ma non aspettarti chissa'
cosa (i tutorial su internet o sui libri sono un'altra cosa...)
invece se devi fare questo per un lavoro, allora ci possiamo tenere in
contatto
e vedere alcune problematiche insieme...
questo invito vale per tutti quelli che come me stanno perdendo il sonno
su queste accidenti di COM1,COM2...
Gestire invece la seriale leggendo direttamente i valori all'indirizzo
in memoria a cui è mappata ? Diventa un incubo ?
non ne ho idea, il compilatore microsoft non credo abbia funzioni come 
inport o outport, forse dovrai scrivere qualche riga in assembly...
ciao


 inport o outport, forse dovrai scrivere qualche riga in assembly...
credo che non si possa fare come applicazione; una cosa del genere
penso si possa fare scrivendo un device driver,ovvero ti crei il tuo
driver personalizzato per la seriale;
cmq il discorso in generale interessa anche me.
saluti a tutti

 tuo esempio ?
Prova questi:
http://www.bbdsoft.com/win32.html
http://www.codeproject.com/system/cserialport.asp
Dan

 all'indirizzo in memoria a cui è mappata ? Diventa un incubo ?
no, semplicemente non puoi. E non vedo che vantaggi avresti
-- 
 < 
http://www.reactos.com/
 >  Open source clone of Windows NT. Current
     Don't stand, REACT!      version 0.0.19. C, C++ and ASM developers
                              and beta testers are welcome!

no, semplicemente non puoi. E non vedo che vantaggi avresti
 Ovviamente si puň... anche passando dal BIOS. I vantaggi possono
essere che l'ambiente di sviluppo non ha alcuna funzione dedicata
alla seriale (e non č possibile chiamare classi, API, etc..). Ma
ho risolto trovando un sistema per chiamare le funzioni di una .DLL
da quell'ambiente. E ovviamenete la .DLL la posso scrivere nel linguaggio
che preferisco (č questa poi che interagisce con la seriale).
 In C, invece potresti dichiarare una variabile di tipo char,
facendola puntare all'indirizzo della seriale e leggere cosě
direttamente i valori.
Saluti.