djvas Postat Martie 29, 2020 Partajează Postat Martie 29, 2020 Dupa cum bine stiti libraria hardware I2C oferita in compilatoarele de la MikroE poate crea blocarea microcontrolerului in situatia in care ceva este in neregula cu slave-ul de pe bus-ul I2c. Se intampla in special cu functia I2Cx_WR () atunci cand nu primeste ACK de la slave. Ma gandesc ca la proiecte mai complexe unde este mult soft care face si altceva decat sa citeasca i2c-u sau unde sunt mai multe slave-uri pe i2c acest lucru ar putea duce la diverse neplaceri. Cum tratati acest impediment? Link spre comentariu
modoran Postat Martie 29, 2020 Partajează Postat Martie 29, 2020 Implementezi un timeout, daca librăria aia nu suporta așa ceva atunci scrii tu alta sau folosești altceva. Link spre comentariu
mars01 Postat Martie 29, 2020 Partajează Postat Martie 29, 2020 (editat) https://libstock.mikroe.com/projects/view/1052/i2c-non-blocking Basic si Pascal dar se poate face un port pentru C destul de usor. Pt STM32F103: https://github.com/vankxr/STM32F103-mikroC-NB-I2C Editat Martie 29, 2020 de mars01 Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum