Periferica i2c che (volutamente?) non deve dare ACK basso.Possibile???

Aug 26, 2022 9 Replies

Salve..da una cosa all'altra.



Ho una scheda con molti digit a segmenti LED,


formatting link


che non mi torna.



scritta ACK. Implemento pari pari,all'oscilloscopio e sto ACK resta alto Da codice faccio lo scan I2C dei 256 possibili indirizzi a 8 bit e ACK resta alto con ognuno di questi



A differenza del disegno, il mio microcontrollore STM32L152(come credo altri) se non riceve ACK,non va avanti a mandare altri bytes,rinuncia e deve ripartire con altro start bit.



Non mi pare che io abbia modo di ignorare il mancato ACK, se non facendo


Grazie


hai atteso i 60msec di tempo di inizializzazione ? l'alimentazione 5V e' stabile senza ripple ?

non credo che l'indicazione di ACK alto voglia dire che quella sia la risposta del IC, piuttosto credo voglia dire che chi trasmette deve lasciare il bus alto, come da standard I2C. hai verificato la sequenza di start che tira fuori il tuo micro ? cioe' prima SDA basso poi SCL basso.

Il 26/08/2022 19:56, alfio ha scritto:

Non ne sono certo...dopo provo

si,piatta come una tavola

Si ...a differenza del solito sto usando funzioni ad alto livello(HAL) che queste cose non le sbagliano e l'oscilloscopio conferma

grazie per aver guardato il datasheet

Il 26/08/2022 21:15, El_Ciula ha scritto:

Comincio a pensare che l'IC sia rotto e le schede non fossero dismesse ma guaste da buttare

Il 26/08/2022 19:56, alfio ha scritto:

Purtroppo anche aspettando 1 secondo prima di muovere l'i2c la situa non cambia. Come dicevo al sig cl Ciula comincio a pensare che l'IC sia rotto e le schede non fossero dismesse ma guaste da buttare.

tirando basso il suo stadio open collector o oped drain che sia,anche se

Di solito i diagrammi I2C nei datasheet mostrano chiaramente che SDA va

Boh..per ora mi arrendo

"blisca" ha scritto nel messaggio news:tebd5e$1vhs$ snipped-for-privacy@gioia.aioe.org...

potresti provare a pilotarlo con I/O normali facendo tu il protocollo I2C, e' abbastanza facile, in modo da completare il comando ignorando il bit ACK e "vedere l'effetto che fa" (cit).

hai provato solo con il comando 48h o anche scrivendo i 16 registri da 60h in poi ?

Il 27/08/2022 11:21, alfio ha scritto:

ho provato solo con 48H...la funzione ad alto livello che uso manda fuori in sequenza indirizzo e contenuto di un buffer che dovrebbe scrivere nei registri,ma naturalmente si ferma dopo il NACK dell'indirizzo

Il 27/08/2022 08:17, El_Ciula ha scritto:

Il 27/08/2022 11:04, El_Ciula ha scritto:

Mi domandavo se fosse quello che ho io il clone di qualcosa d'altro

Il 28/08/2022 12:52, El_Ciula ha scritto:

Succede..ritorniamo a noi..

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required