Bonjour,
Je tente de faire une communication I2C entre deux PIC18F4680. Le Master, envoie bien le bit d'adresse et de R/W, mais l'esclave n'acquitte pas. Pourtant si j'ai bien lu la doc, l'esclave acquitte automatiquement ?
Autre curiosité je suis obligé de paramétrer le TRIC3/4 en entrée pour que le Master puisse envoyer des données... Je n'ai toujours pas compris le truc... Le pire c'est que ça marche pour le Master.
Code d'INIT
Le mode esclave est paramétrer quand le paramètre _mode = 'S'.Code:void i2c_init(unsigned char _mode, unsigned char _slew, unsigned char _address) { i2c.token = 1; if(_mode == 'M') SSPCON1 = 0x08; else SSPCON1 = 0x06; SSPCON2 = 0x00; if(_slew == 1) SSPSTAT = 0x00; else SSPSTAT = 0x80; SSPADD = _address; if(_mode == 'M') TRISC |= 0x18; else TRISC |= 0x18; SSPCON1bits.SSPEN = 1; }
Je ne suis pas tromper dans les bits de configuration ?
-----