Vai al contenuto
PLC Forum


Usare Spi E Uart Contemporaneamente


Neway

Messaggi consigliati

Ho un Pic 18F2553 e vorrei usare contemporaneamente il modulo SPI e la UART, ma lo SPI OUT e l'RX dell'UART sono sullo stesso pin. Dovrei leggere il contenuto di una EEPROM SPI e inviare il valore letto tramite UART. C'è qualche modo per farlo?

Grazie

Link al commento
Condividi su altri siti


Devi mettere uno switch esterno, basta un multiplexer, comandato da un'altra porta.

Leggi i dati usandi SPI, poi commuti su UART.

Ovviamente quando si passa da una funzione all'altra si devono anche effettuare i cambiamenti di destinazione dei pins con i registri di configurazione.

Link al commento
Condividi su altri siti

Ho trovato una soluzione molto più semplice.

Per commutare il funzionamento da SPI a UART basta cambiare da output a input il pin e abilitare il bit SPEN.

Link al commento
Condividi su altri siti

Cosa fai colleghi la porta seriale e la memoria assieme? (almeno per il pin interessato)

Non è propriamente una cosa ben fatta.

Link al commento
Condividi su altri siti

Perchè? Ammetto che non è elegante ma facendo il seguente ragionamento non ho trovato problemi.

Il pin interessato è l' RX dell' uart e lo SPI OUT (che va al pin SI della memoria): quando uso la uart il pin è un ingresso e la memoria ignora i segnali che vengono dalla seriale del PC perchè il CS non è attivo. Quando uso la SPI, il bit SPEN è a 0 e la UART è tenuta in reset.

Non dovrò usare la seriale massicciamente, solo ogni tanto per scaricare i dati sup PC.

Link al commento
Condividi su altri siti

Non solo non è elegante, ma non è nenache affidabile.

Se si tratta di un giochino o di una prova di laboratorio può anche passare, ma se un dispositivo che deve avere un minimo di affidabilità è necessario aggiungere un mpx Hw.

Comunque se sei contento tu.... smile.gif

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Si, è un esperimento da laboratorio. Non sono un professionista e non pretendo di esserlo. Essere un hobbista è già troppo difficile per me biggrin.gif .

Perché in ogni caso potrebbe essere inaffidabile?

Link al commento
Condividi su altri siti

Se ci ragioni un poco lo comprendi perfettamente. La medesima porta del micro la colleghi brutalmente a 2 dispositivi, esterni allo stesso, con funzioni completamente differenti.

Link al commento
Condividi su altri siti

  • 2 weeks later...

scusa neway, ma che ti costa mettere un mux per scambiare i segnali sul pin? Va be che sei un hobbista, ma penso che un lavoro fatto bene, anche se solo per hobby, dia tutt'altra soddisfazione rispetto ad un lavoraccio... smile.gif

Se poi ti vuoi divertire un po' a livello di codice e vuoi risparmiare componenti esterni potresti usare una seriale software per una delle due.

Link al commento
Condividi su altri siti

Probabilmente hai un driver MAX232 o simile che controlla la seriale

Il pin RX verso il micro e`mantenuto alto a riposo dal driver anche se la seriale non comunica

Quando attivi la SPI e porti bassa quella linea (se non e`open collecttor)porti in corto il pin del driver verso massa

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...