Sida 1 av 1
Interupt
Postat: 3 mars 2015, 21:21:16
av foppa
Håller på å letar efter en pic 16 med 3st Interupter.
Men när jag kollar på microship tabell på deras hemsida så är inte Interupten utsatt i tabellen.
Eller har jag missat nåt IGEN

Re: Interupt
Postat: 3 mars 2015, 21:22:48
av TomasL
Ja, du kan ju börja med att förklara vilken typ av interrupt du vill ha, det finns väldigt många olika varianter.
Och varför just PIC16?
Re: Interupt
Postat: 3 mars 2015, 21:34:55
av discomike
Och vad menar du med 3 interrupter? 3 interrupt-nivåer, eller 3 ingångar med ex. vis interrupt-on-change?
Jag tror de flesta som har tillräckligt med pinnar har interrupt-on-change på en 8-bitars port (som dock kanske inte fungerar i sleep) och sen kanske någon dedikerad interrupt-pinne som fungerar även i sleep typ benämnt "external interrupt" eller så.
Googla på!
Re: Interupt
Postat: 3 mars 2015, 21:35:11
av sodjan
Normala/moderna PIC16 har 10-20 eller fler olika interrupt källor.
Det är sannolikt något du har missförstått. Kanske blandat ihop
interrupt källor med interrupt vektorer...
Re: Interupt
Postat: 5 mars 2015, 12:29:02
av foppa
Ni har rätt.
Dåligt frågeställning av mig.
Ska göra ett försök inte lätt när jag är dåligt insatt i ämnet.
Det finns på tex 16F690 en INT på pin17.
Det finns ju Port change -reacts to any change in a specified collection of inputs .
Jag vill bara ha interupt på falling edge och det får jag på"INT"
Tar jag port change så får interupt på rising och falling edge.
Det ställer till det om jag har en räknar fuktion kopplad den tryckknappen.
Re: Interupt
Postat: 5 mars 2015, 13:07:26
av ajje
Du får väl i din rutin hålla koll på åt vilket håll knappen går och strunta i att räkna upp vid rising edge.
Re: Interupt
Postat: 5 mars 2015, 13:09:21
av Icecap
foppa: nej, det som ställer till det är att du programmerar fel!
1: Att koppla på en räknarfunktion till en mekanisk brytare ger per definition problem med många pulser pga. mekanisk studs.
2: Att du får en interrupt när du släpper betyder bara att du uteslutande räknar när pinnen är i ena läget.
Exempel:
<Knapp trycks ner och pinnen går '0'>
if(!PortPin) Value++; // Räknar bara upp om portpinnen är '0'