Vai al contenuto
PLC Forum


Serin E Serout Sullo Stesso Pin Aiutatemi


dexterman

Messaggi consigliati

Salve a tutti,semplice domanda,almeno per voi è semplice,si può far eseguire l'invio e la ricezione di dati sullo stesso pin di un pic 16f84?

es.

DATO var byte

INOUT VAR PORTB.7

MODEOUTC CON 3

MODEINC CON 3

Connetti:

serout INOUT,MODEOUTC,["I"]

Ricevi:

serin inout,modeinc,300,connetti,dato

'codice gestione dati ricevuti

goto connetti

grazie mille in anticipo

Link al commento
Condividi su altri siti


Bisogna vedere cosa ci colleghi dall'altra parte

Per utilizzare lo stesso pin del micro come pin bidirezionale di comunicazione fai così

Configura la porta in modo che il pin sia in input ed esternamente fissalo con una resistenza collegata all'alimentazione.

Configura il registro di output della porta con uno zero.

A questo punto quando ricevi ti basta leggere il pin della porta configurato come input.

Quando trasmetti se trasmetti 1 (livello alto) non fai niente se trasmetti 0 cambi la configurazione del pin da input a output per il tempo necessario alla trasmissione del bit poi la riposizioni in input.

Il trucco per la trasmissione è:

non utilizzare il bit di output della porta (che va lasciato sempre a zero) ma utilizzare il bit di configurazione input/output della porta.

Link al commento
Condividi su altri siti

Bisogna vedere cosa ci colleghi dall'altra parte

Per utilizzare lo stesso pin del micro come pin bidirezionale di comunicazione fai così

Configura la porta in modo che il pin sia in input ed esternamente fissalo con una resistenza collegata all'alimentazione.

Configura il registro di output della porta con uno zero.

A questo punto quando ricevi ti basta leggere il pin della porta configurato come input.

Quando trasmetti se trasmetti 1 (livello alto) non fai niente se trasmetti 0 cambi la configurazione del pin da input a output per il tempo necessario alla trasmissione del bit poi la riposizioni in input.

Il trucco per la trasmissione è:

non utilizzare il bit di output della porta (che va lasciato sempre a zero) ma utilizzare il bit di configurazione input/output della porta.

Link al commento
Condividi su altri siti

perdonami ma da come hai scritto su la risposta sembra il contrario, perchè in effetti se ci pensi bene una persona che non conosce il pic non può dare una mano consigliando o sbaglio?

comunque grazie mille

aspetto una tua risposta riguardo il problema

ciao

Link al commento
Condividi su altri siti

dexter voglio darti una mano!!

Il problema è che i PIC non li ho mai utilizzati.

Non credo siano diversi dagli altri micro ci saranno sempre i registri di configurazione della porta in/out e di set/reset del registro d'uscita.

Posso aiutarti con

NEC

PHILIPS

SILABS

TEXAS

NATIONAL

RABBIT

ma non con microchip

Ho cercato goffamente di spiegarti il principio poi l'applicazione sul micro specifico non sono in grado di scriverla.

ciao

Link al commento
Condividi su altri siti

un'altra cosa

la linea di comunicazione a cosa viene collegata dall'altro lato ?

Quando tu piloti in TX la linea devi essere sicuro di non avere conflitti con chi si trova all'altro estremo. (dev'essere in input)

La cosa migliore è lavorare con uscite in open collector.

Link al commento
Condividi su altri siti

cioa dexterman

io ho ipotizzato la configurazione del driver della porta in open collector quindi ci vuole qualcosa che tenga a una tensione nota il pin quando è configurato come ingresso. Non solo quando vai in trasmissione (in output) senza resistenza il pin rimarrebbe sempre basso

Non ho considerato la configurazione del driver pushpull perchè la ritengo pericolosa (e questo non vuol dire non si fa)

Se sbagli una commutazione ti puoi trovare nella situazione in cui entrambi i micro

pilotano il pin come uscita. Se da un lato è alta e dall'altro è bassa hai un corto netto attraverso i pin dei micro.

In questo caso io mettrei una resistenza serie sulla linea di comunicazione per limitare la corrente in caso di errore.

nel caso open collector non ci sono situazioni potenzialmente pericolose. Se entrambi pilotano in uscita non si rompe nulla.

Link al commento
Condividi su altri siti

ciao dlgcom,io ho scritto come ho risolto,certo non in maniera evidente però,ho inserito la resistenza come mi ha consigliato accacca!!

grazie mille ancora

Link al commento
Condividi su altri siti

dexterman per favore perdi altri 5minuti.

Ha ragione dlgcom, la discussione resta all'interno del forum. Se qualcuno in futuro affronta lo stesso problema potrebbe trovare qui la soluzione collaudata e funzionante.

Per fare questo mancherebbero solo i dettagli della tua realizzazione

Che soluzione hai adottato pushpull ? open collector ? Valori resistenze ?

Velocità di comunicazione ?

Puoi inserire qualche frammento del tuo codice per PIC (che ti ripeto, non conosco, e mi piacerebbe vedere).

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...