Problema con Uart3 Arduino Mega

Ciao a tutti,espongo qua ciò che é capitato alla mia Mega sperando che sia possibile un Fix software: Premessa:errore di saldatura su uno shield prototipo che ha messo in cortocircuito a massa il pin tx3 della board.

Dopo aver riparato la saldatura di cui sopra apparentemente la serial 3 della mia Mega non funziona più correttamente,come se fosse andata in palla visto il corto a massa.

Controlli eseguiti: i pin della serial 3 sono stati configurati per prova come output e input e funzionano regolarmente; collegata Arduino micro per monitorare il dialogo della serial 3 e apparentemente vengono inviati byte a che non corrispondono a ciò che in realta dovrebbe essere.

Secondo voi é possibile che la uart sia in qualche modo impallata,che qualche fuse sia da riprogrammare,non so,qualcosa tipo un reset profondo della stessa??... Mi spiacerebbe non poter più utilizzare questa seriale perché per il mio progetto ho necessità di tutte le porte e dovrei ricomprar n'è un'altra!!... Se qualcuno ha idee é il benvenuto... Grazie

Un corto verso massa di un pin in stato HIGH ... può distruggere l'elettronica di quel pin. Alcuni esempi QUI.

Ora, tu dici che il pin, usato per fare digital I/O funziona bene, però ... potrebbe essersi danneggiato qualche cosa che è relativo alla USART che colloquia con quel pin ... :roll_eyes:

Dubito difatti che ... possa essere "impazzita" la seriale o che si sia modificato qualche bit di configurazione all'interno ...

Comunque aspettiamo anche altre opinioni ;)

Guglielmo

gpb01: Un corto verso massa di un pin in stato HIGH ... può distruggere l'elettronica di quel pin. Alcuni esempi QUI.

Ora, tu dici che il pin, usato per fare digital I/O funziona bene, però ... potrebbe essersi danneggiato qualche cosa che è relativo alla USART che colloquia con quel pin ... :roll_eyes:

Dubito difatti che ... possa essere "impazzita" la seriale o che si sia modificato qualche bit di configurazione all'interno ...

Comunque aspettiamo anche altre opinioni ;)

Guglielmo

La tua diagnosi rispecchia la mia,infatti il primo controllo eseguiti e' sto quello di effettivo funzionamento del pin... E quello va..... Se la seriale ha un buffer di invio si potrebbe essere bruciato quello,ma comunque mi fa strano che il pin medesimo funzioni in modo out...cioè: possibile che si bruci qualcosa a monte e non il pin stesso!??... Mah!!

ibbba: .... possibile che si bruci qualcosa a monte e non il pin stesso!??... Mah!!

Ma, sai, dipende COSA all'interno del chip è realmente collegato al pin quando la seriale è attiva ... magari c'è una specie di logica di commutazione che collega o l'I/O digitale o l'uscita della USART al pin fisico ...

Guglielmo

Non conoscendo nei particolari il circuito all'interno del Controller non é possibile dire qualcosa di preciso. Per particolari intendo non solo come e quali porte lociche sono realizzati sul chip ma anche la sezione dei collegamenti sul chip e come é dotato il silico per fare i transistori ecc.

Ciao Uwe

@ibba: Quale pin hai collegato a massa? RX3 o TX3?

ibbba: Controlli eseguiti: i pin della serial 3 sono stati configurati per prova come output e input e funzionano regolarmente; collegata Arduino micro per monitorare il dialogo della serial 3 e apparentemente vengono inviati byte a che non corrispondono a ciò che in realta dovrebbe essere.

La circuiteria di out della UART è la stessa del pin settato come output, se in questo modo funziona regolarmente, ovvero puoi misurare una tensione di poco meno 5V quando è a 1 Logico e poco più di 0V quando è a 0 logico quasi sicuramente non hai fatto nessun danno hardware.

Secondo voi é possibile che la uart sia in qualche modo impallata,che qualche fuse sia da riprogrammare,non so,qualcosa tipo un reset

Assolutamente no. Cosa vuol dire esattamente "apparentemente vengono inviati byte a che non corrispondono a ciò che in realta dovrebbe essere" ? Se il pin è danneggiato non esce nulla.

leo72: @ibba: Quale pin hai collegato a massa? RX3 o TX3?

Leo ... ti serve un po' di riposo ... perdi colpi ... ... lo ha scritto nel primo post ... TX3 ]:D ]:D ]:D

Guglielmo

astrobeed:

ibbba:
Controlli eseguiti: i pin della serial 3 sono stati configurati per prova come output e input e funzionano regolarmente; collegata Arduino micro per monitorare il dialogo della serial 3 e apparentemente vengono inviati byte a che non corrispondono a ciò che in realta dovrebbe essere.

La circuiteria di out della UART è la stessa del pin settato come output, se in questo modo funziona regolarmente, ovvero puoi misurare una tensione di poco meno 5V quando è a 1 Logico e poco più di 0V quando è a 0 logico quasi sicuramente non hai fatto nessun danno hardware.

Secondo voi é possibile che la uart sia in qualche modo impallata,che qualche fuse sia da riprogrammare,non so,qualcosa tipo un reset

Assolutamente no.
Cosa vuol dire esattamente “apparentemente vengono inviati byte a che non corrispondono a ciò che in realta dovrebbe essere” ? Se il pin è danneggiato non esce nulla.

vuol dire che se ad esempio invio “sensore” dalla uart 3 leggo “sY$$” o caratteri assurdi con la micro utilizzata come interfaccia …provato a sostituire la mega con una uno inviando sempre la stessa stringa e funziona correttamente…

ibbba: vuol dire che se ad esempio invio "sensore" dalla uart 3 leggo "sY$$" o caratteri assurdi con la micro utilizzata come interfaccia .....provato a sostituire la mega con una uno inviando sempre la stessa stringa e funziona correttamente....

Sembra tanto un problema di baud rate errato, sicuro di averlo settato correttamente per la UART3 ?

astrobeed: ... Sembra tanto un problema di baud rate errato, sicuro di averlo settato correttamente per la UART3 ?

+1 ... ha proprio l'aspetto di una ricezione con baud rate sbagliato ...

Guglielmo

gpb01: Leo ... ti serve un po' di riposo ... perdi colpi ... ... lo ha scritto nel primo post ... TX3 ]:D ]:D ]:D

:cold_sweat:

astrobeed:

ibbba: vuol dire che se ad esempio invio "sensore" dalla uart 3 leggo "sY$$" o caratteri assurdi con la micro utilizzata come interfaccia .....provato a sostituire la mega con una uno inviando sempre la stessa stringa e funziona correttamente....

Sembra tanto un problema di baud rate errato, sicuro di averlo settato correttamente per la UART3 ?

la seriale è aperta in tutte le board a 9600....ma non solo....lo shield che dovrebbe utilizzare la uart 3 (come ha sempre fatto in passato,prima della malaugurata saldatura)è uno shield GSM Sim900 che utilizzo con la libreria di Futura Elettronica. Questa libreria,direi ottima,ha tutto un ciclo di controllo per verificare il funzionamento della uart a diversi baud rate...quando trova quello corretto lo utilizza....specifico anche per la cronaca che lo stesso shield sul mio fido Uno funziona senza problemi...è vero,sembra un problema di baud,ma i settaggi sono corretti,,,sembra proprio la Uart ad essere fuori fase!!!

ibbba: sembra proprio la Uart ad essere fuori fase!!!

Questa è una affermazione senza alcun senso. Hai misurato gli effettivi livelli di tensione sul Tx della UART3 commutando il suo stato ? Quando l'UART è attiva in stato di idle (nessuna trasmissione in corso) TX3 si trova a quasi 5V ?

astrobeed:

ibbba: sembra proprio la Uart ad essere fuori fase!!!

Questa è una affermazione senza alcun senso. Hai misurato gli effettivi livelli di tensione sul Tx della UART3 commutando il suo stato ? Quando l'UART è attiva in stato di idle (nessuna trasmissione in corso) TX3 si trova a quasi 5V ?

controllato adesso ...4,89 volt in idle.....