Windows XP e Rs232

Dovrei gestire un circuitino attraverso al seriale del pc , su win98 tutto ok ma su xp non va ,come se l'xp bloccasse i bit che mando alla seriale!Sapete se c'e' qualche sorta di blocco , o di gestione strana da parte dell'xp e si , come si supera? Grazie

Reply to
Ciube
Loading thread data ...

Se stai usando chiamate "legali" del sistema operativo (API) tutto dovrebbe funzionare. Se invece sta "lavorando sporco" comandando direttamente l'hardware del PC (outp, inp, etc etc); NT, 2000 e XP bloccano le tue scritture e quindi non ti funziona nulla. Il concetto che ci sta sotto è che Windows, essendo multiprocesso, controlla i disporitivi che sono condivisi tra piu processi (dischi, seriale, parallela, video, etc etc) per evitare che se un processo si blocca faccia bloccare anche gli altri! In realta esistono dei driver che ti permettono di modificare direttamente l'hardware, ovviamente a tuo rischio e pericolo!! Ciao. Luca Moreschi

Reply to
Luca Moreschi

puoi provare a cercare il programmino userport su google che potrebbe risolverti il problema

William.

Reply to
William

Se ti può aiutare ti riposto la risposta che ho dato a un tizio che tempo fa su it.comp.lang.visual-basic aveva dei problemi con la seriale.

con Agent faccio prima che a darti il link su google

ciao Stefano

From snipped-for-privacy@tin.it Mon Jan 26 11:34:30 2004 Path:news4.tin.it!news-out.tin.it!news-in.tin.it!news4.tin.it.POSTED!not-for-mail From: SB Newsgroups: it.comp.lang.visual-basic Subject: Re: VB6 e gestione porte (con XP e' cambiato qualcosa?) Reply-To: snipped-for-privacy@tin.it Message-ID: References:

X-Newsreader: Forte Agent 1.93/32.576 English (American) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Lines: 65 Date: Mon, 26 Jan 2004 10:34:30 GMT NNTP-Posting-Host: 62.211.35.104 X-Complaints-To: snipped-for-privacy@tin.it X-Trace: news4.tin.it 1075113270 62.211.35.104 (Mon, 26 Jan 2004

11:34:30 MET) NNTP-Post>>utilizzi una seriale o un simulatore/adattatore tipo "bafo" ?

Per mia esperienza in XP hanno cambiato qualcosa....

Appena uscito Xp, su un pc cercavo di connettermi a una scheda con porta RS485 usando un convertitore RS232-RS485 e avevo dei problemi perchè la linea RTS\ terminava alta un poco prima che finisse l'ultimo byte non finendo di trasmettere la linea. (con una 485 è un problema perchè la linea gira)

Il programma utilizza una DLL scritta in C (con le funzioni API CreateFile, SetCommState, ecc.) per poter usare il software di comunicazione con altri linguaggi, e che aveva funzionato bene sui vari W95 W98. (in questa app. non uso MSCOMM, quindi non so se questo problema si verifica anche con lui.)

Posso dirti come è stato risolto dopo diverse peripezie, e una versione di DLL solo per Xp.

il campo fRtsControl in fBitFields di DCB (sono 4 bytes) deve essere messo a RTS_CONTROL_TOGGLE (= 3)

dopodichè RTS\ fa il suo dovere.

Forse è complicato, ma è solo per dire che in Xp hanno effettivamente cambiato qualcosa

Se vuoi documentarti cerca Funzione SetCommState:

Declare Function SetCommState Lib "kernel32" Alias "SetCommState" (ByVal hCommDev As Long, lpDCB As DCB) As Long

e Struttura DCB

Type DCB DCBlength As Long BaudRate As Long fBitFields As Long wReserved As Integer XonLim As Integer XoffLim As Integer ByteSize As Byte Parity As Byte StopBits As Byte XonChar As Byte XoffChar As Byte ErrorChar As Byte EofChar As Byte EvtChar As Byte wReserved1 As Integer End Type

ciao Stefano

Reply to
SB

In effetti WinXP maschera l'accesso diretto alle porte di I/O, evidentemente perché ha paura degli estranei :)

Win98 invece lo permette (entrate pure, la porta è aperta...).

Mi pare che si possa risolvere installando un driver su XP chiamato DIRECT I/O (oppure IOdirectIO, oppure....)

Vedi un po' su Google. Bye..........

"Ciube" ha scritto nel messaggio news:Qh5%c.80306$ snipped-for-privacy@twister2.libero.it...

Reply to
Gabriele

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.