hallo

ik heb een zeer simpel interrupt progje gamaakt:


device 18F4550
clear

declare xtal = 20
declare all_digital = on

symbol GIE = intcon.7
symbol INT2IE = intcon3.4
symbol INT2IF = intcon3.1

intcon3.7 = 1
intcon2.4 = 1

trisb = %00000111
trisc = %00000000

on_interrupt goto interupt

int2if = 0
int2ie = 1
gie = 1

while 1 = 1
 portc.6 = ~portc.6
 delayms 5000
wend

interupt:
 int2if = 0
 portc.7 = ~portc.7
context restore

end

mijn vraag is kan hij nu ook interrupten op timers en dergelijken of uitsluitend op interrupt pin 2?

zo ver ik het kan beredeneren zou hij alleen op int2 mogen interupten. en moet GIE perce aan staan om int 2 te laten interrupten?

Robbert

Hij kan interrupten op alle timers/opamps/AD channels/RS-232 en noem verder maar op.

De datasheet is wat dat betreft heel leerzaam.

ik weet sat ie het kan maar het gaat er om of dat ie dat doet met het voorbaald wat ik net gaf.

Ik denk dat je PEIE ook moet zetten.

ik begrijp eerlijk gezecht niet het verschil tussen GIE en PEIE.

Robbert

Global Interrupt Enable, en Periferal Interrupt Enable

Bij de laatste komt de interrupt vanuit de buitenwereld.

o oke

het voorbeeld wat ik gaf werkt.

maar kan ik GIE weg laten als ik PEIE er in zet.

robbert