salut tlm !
je fait mes débuts avec l'i2c grace au cours de bigonoff mais j'ai quelques problèmes
j'essaye de lançer ce programme sans qu'aucun peripherique i2c ne soit branché sur la liaison
[code:1:98a6ded393]bsf STATUS,RP0 ; banque 1
clrf SSPSTAT ; slew rate control en service, mode I²C
movlw D'2' ; valeur de recharge du BRG (400 Kbauds)
movwf SSPADD ; dans registre de recharge
bcf STATUS,RP0 ; banque 0
movlw B'00101000' ; module MSSP en service en mode I²C master
movwf SSPCON ; dans registre de contrôle
bcf PORTA,2 ; éteindre la LED
bsf STATUS,RP0 ; banque 1
bsf SSPCON2,SEN ; lancer le start-condition
i2c_start
btfsc SSPCON2,SEN ; attendre fin start-condition
goto i2c_start ; boucler
bcf STATUS,RP0 ; banque 0
movlw SLAVE ; charger l'adresse de l'esclave
movwf SSPBUF
bsf PORTA,2 ; allumer la led
bsf STATUS,RP0 ; banque 1
i2c_adress
btfsc SSPSTAT,R_W
goto i2c_adress
bcf STATUS,RP0 ; banque 0
bcf PORTA,2 ; eteindre la led
END ; fin de programme[/code:1:98a6ded393]
le led ne s'eteint jamais
mon programme reste bloqué dans la boucle de vérification que l'emission est terminée donc la led sur PA.2 reste toujours allumée.
mon port A est configuré en sortie
mon port C en entrée
SLAVE représente l'adresse de mon peripherique i2c (non conecté) et vaut 0b01110000
je suis sur que c'est une conerie mais je vois pas ...
PS : désolé bigonoff si j'ai repris pas mal de tes bouts de codes mais je préfère être sur qu'ils marchent
-----