Hello Michel,

If you want to use the external interrupt you have to enable it by: INTCON_INTE 
= TRUE

Initially it is disabled by default.

Kind regard,

Rob

________________________________
Van: [email protected] <[email protected]> namens Michel MORICE 
<[email protected]>
Verzonden: maandag 27 juli 2020 12:06
Aan: jallib <[email protected]>
Onderwerp: [jallib] PIC12F675 INTERRUPT WITH COMPARATOR OUTPUT CHANGING doesn't 
work

Hi
On a PIC12F675 I use A0 and A1 as analogic input to control the light of the 
day to open/close a door
A2 as logic output with a led to control the right operating.
An interrupt on A2 changing should start the process but that doesn't work.
Hereafter a little program to try the function.
Thanks for helping me.

--************************************************************************
--****** Programme POULE2  -Ouverture crépusculaire du poulailler ********
--***************************************Michel MORICE 16 juillet 2020****
include 12f675
pragma target clock 4_000_000
pragma target OSC INTOSC_NOCLKOUT  -- horloge interne à 4 MHz
pragma target MCLR internal        -- make MCLR pin A3 available as I/O
pragma target WDT disabled
--conditionnement du PIC
ANSEL  = 0b_0000_0011  --ports 0 et 1 en analogique, entrées du comparateur
TRISIO = 0b_0000_1011  --ports 0, 1, 3 en input, 2, 4 et 5 en output
CMCON  = 0b_0000_0001  --comparateur + en 0, - en 1, sortie en 2
PIE1   = 0b_0000_1000  --comparateur enable bit
INTCON = 0b_1100_0000  --global interrupt et peripheral interrupt
--paramétrage des portes
alias COMPS is pin_A2   --sortie du comparateur
alias ILS is pin_A3     --ILS contrôlant la fermeture de porte
alias OUVRE is pin_A4   --commande l'ouverture
alias FERME is pin_A5   --commande la fermeture
--paramétrage général
--ON OFF TRUE FALSE définis par include 12f675 et constants_jallib
const dword seconde = 1_000_000
const bit OUVERTE = ON
const bit FERMEE  = OFF
var bit changeLum = FALSE
--***************************************************************
--****************************************************************
procedure changeLuminosite() is pragma INTERRUPT
  if PIR1_CMIF then     --changement de luminosité détecté
    changeLum = TRUE
  end if
end procedure
--****************************************************************
--programme principal
forever loop
  if changeLum then
    PIR1_CMIF = OFF
    INTCON_GIE = OFF
    OUVRE = ON
    _usec_delay(seconde * 3)
    OUVRE = OFF
  end if
  INTCON_GIE = ON
  changeLum = FALSE
end loop




--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
[email protected]<mailto:[email protected]>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/cdf66d12-1e34-4563-9d26-345617726af0o%40googlegroups.com<https://groups.google.com/d/msgid/jallib/cdf66d12-1e34-4563-9d26-345617726af0o%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/AM0PR07MB62419A0F52A2980F22DA5132E6720%40AM0PR07MB6241.eurprd07.prod.outlook.com.

Reply via email to