Bonjour,
J'essaye sur mon explorer 16 board avec PIC24FJ64GA004 de configurer une interruption peripherique sur la pin RP3.
Pour cela la datasheet indique de deverouiller la modification du registre RPINR0 par une sequence sur le registre OSCCON en assembleur imperativement.
J'ai presque tout essayé (en C, en assembleur, en utilisant des fonctions fournies par le compilateur C30) mais pas moyen de modifier RPINR0.
Quand je regarde les registres, IOLOCK de OSCCON change bien mais INT1R3 de RPINRO ne change pas et l'interruption ne fonctionne pas.
Y a t-il autre chose à faire ?
asm("MOV #OSCCON, w1"); // Sequence de deverouillage IOLOCK pour modifier RPINR0
asm("MOV #0x46, w2");
asm("MOV #0x57, w3");
asm("MOV.b w2, [w1]");
asm("MOV.b w3, [w1]");
asm("BCLR OSCCON,#6");
RPINR0bits.INT1R3 = 1; // Configuration RP3 pour interruption 1
asm("MOV #OSCCON, w1"); // Sequence de reverouillage IOLOCK
asm("MOV #0x46, w2");
asm("MOV #0x57, w3");
asm("MOV.b w2, [w1]");
asm("MOV.b w3, [w1]");
asm("BSET OSCCON,#6");
Merci
-----