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

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

Reply to
blisca
Loading thread data ...

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.

Reply to
alfio

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

Reply to
blisca

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

Reply to
blisca

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

Reply to
blisca

"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 ?

Reply to
alfio

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

Reply to
blisca

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

Reply to
blisca

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

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

Reply to
blisca

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

Succede..ritorniamo a noi..

Reply to
blisca

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.