Beste lezers ,
Wat is het verschil tussen INT0 en INT2 bij een microcontroller? Heb meerdere sites geraadpleegd maar deze zijn erg verwarrend.
fred101
Golden Member
www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur en maritieme en industriele PCBs
Deze vraag is lastig in algemene termen te beantwoorden, omdat er vermoedelijk erg veel en sterk verschillende microcontrollers zullen zijn met meer dan twee interrupts en dus naast een INT0 een INT1 en een INT2.
Maar het gaat in ieder geval niet over de Atmega 328 (Arduino Uno), die heeft er maar twee.
Paulinha_B
Honourable Member
"Ik spreek Spaans tegen God, Italiaans tegen de vrouwen, Frans tegen mannen en Duits tegen mijn paard." Dixit Carlos V, Römisch-deutscher Kaiser
Verschillende cpu's kennen verschillende "schema"'s voor interrupts.
Bv. de 6502 had slechts twee interrupts, die elks overeenkwamen met een van de 40 pennen: IRQ ("interrupt request") en NMI ("non-maskable interrupt")
De IRQ kon men buitenspel zetten, die was "maskable", de NMI was dat per definitie niet.
Latere cpu's hadden veel meer interrupts, veelal werden ze begeleid/omhangen door (o.a.) een "priority interrupt encoder" die bv. 8 interrupt-ingangen encodeerde naar 3 cpu-pennen.
Daarbij waren de hogere nummers minder prioritair dan de lagere. Bv. op de eerste PC's voor MSDOS was IRQ7 gebruikt door de parallel printer interface, als die al eens een interrupt genereerde ("stuur nog maar een byte naar de printer, als er nog eentje over is") dan werd die als laatste prioriteit behandeld. De com-poorten (RS-232) hadden al heel wat meer prioriteit, die zaten op IRQ3 en IRQ4 als ik het nog goed heb.
@fred101: trofee voor de droogste reactie van het jaar! En nog helemaal correct ook, alleen vrees ik dat de topicstarter er niet zoveel mee vooruitkwam 
Als het allemaal nog een beetje bevattelijk is, dan doe ik er nog een schepje bovenop: nog steeds op de 6502 - de enige cpu waarvoor ik ooit assembler geschreven heb - hadden de NMI, RESET en IRQ elks een "vector" in de hoogste regionen van de memory-map, vaag staat me voor dat het resp. waren FFFA-FFFB, FFFC-FFFD, FFFE-FFFF. In de "monitor" van de Apple ][ stonden daar dan de adressen van drie indirecte jumps, maar het fijne weet ik er niet meer van, na zovele jaren.
Zoals Aart al zegt is dat niet te zeggen zonder te weten over welke cpu het gaat.
Er bestaan namelijk:
Timer interrupts
Maskeerbare interrupts
Niet maskeerbare interrupts
Software interrupts
Hardware interrupts
Externe interrupts
Interne interrupts
En ongetwijfeld nog vele andere.
En dan kun je de interrupts ook nog een prioriteit geven, daisy chainen enz.
En dat alles staat perfect beschreven in de datasheet van de cpu. Meestal is dat een (dik) boek overigens en niet een paar a4-tjes. Je hebt dan een interrupt nodig om uit dat boek gehaald te worden.
Dus over welke cpu praten we?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Paulinha_B
Honourable Member
"Ik spreek Spaans tegen God, Italiaans tegen de vrouwen, Frans tegen mannen en Duits tegen mijn paard." Dixit Carlos V, Römisch-deutscher Kaiser
Je hebt dan een interrupt nodig om uit dat boek gehaald te worden.
Alweer een giller, als we zo voortdoen wordt dit de meest humoristische draad sedert lang!
Maar laat ons beter niet beginnen over software-interrupts, daar heeft de topicstarter het duidelijkerwijs niet over, ze kunnen haar/hem enkel in de war brengen. Trouwens ik heb die software-interrupts altijd boerenbedrog gevonden, het is niet meer dan een subroutine call met een zondags kostuum aan.
Maar jawel, ik stelde ook al direct dat iedere cpu een eigen schema heeft voor interrupts, en dat er dus geen universeel antwoord mogelijk is. Zoals zo vaak kunnen we ook hier meer uitleg geven als we meer informatie krijgen - in dit geval: over welke cpu gaat het.
maartenbakker
Golden Member
www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."
Op 13 februari 2023 20:01:19 schreef Arco:
De PIC24F bijvoorbeeld heeft 118 interrupts...
En een x86 heeft er 255... Ik snap niet helemaal waar de TS naartoe wil, maar als hij blij is met de antwoorden...
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/