Flera olika externa interups

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Flera olika externa interups

Inlägg av ankan »

Hur ska jag kunna ta in flera olika externa interups till en pic. Koppla alla parallellt med en diod eller finns något annat smartare?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Vilken "pic" ?
Kvantifiera "flera".

Finns inget generellt svar, dete beror (bl.a) på ovanstående...
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Koppla dem på varsin interruptpinne.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Tex 16F628 har bara en interuppinne vad jag vet. RB0.

När jag syftar på flera, menar jag typ 5 st beroende på hur lätt det går att åstakomma. Kör man I2C så är det inte särskillt svårt men jag vill helst slippa ha massa extra komponenter.
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

Kolla i databladet 14.6.3 samt 5.2 (Det finns 4 till interruptkällor på PORTB)
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

Du kan ju skaffa en roligare PIC med massvis av avbrottspinnar.
Annars går det ofta bra med dioder. Du kan bygga den så att avbrottspinnen dras låg om något händer (normalläge styrs med pullup), sen läsa av varje individuell pinne om det behövs.
Ett alternativ är ett högfrekvent timeravbrott där du pollar pinnarna du kopplat signalerna till.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Inlägg av PHermansson »

Håller med bearing: Databladet 14:6 -
The PIC16F62X has 10 sources of interrupt:
...
PORTB Change Interrupts (pins RB7:RB4)
...
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Tackar.. Vad gör RB0/INT till skillnad mot övriga pinnar?
Användarvisningsbild
DeVille
Inlägg: 2361
Blev medlem: 29 mars 2004, 15:04:22
Ort: Dalsländska skogen.
Kontakt:

Inlägg av DeVille »

Nu är jag inte inne på PIC..

Men om du ställer in allt rätt så när du får ett interrupt på RB0 ex. så går den automatiskt till en viss adress i koden, där det står vad den ska göra sedan.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Vad gör RB0/INT till skillnad mot övriga pinnar?

Vad menar du med "gör" ??

Egenskaperna för alla pinnar finns i PORT delen av databladet.
Interupt har ett helt eget kapitel.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

DeVille skrev:Nu är jag inte inne på PIC..

Men om du ställer in allt rätt så när du får ett interrupt på RB0 ex. så går den automatiskt till en viss adress i koden, där det står vad den ska göra sedan.
Nja, alla interrupt delar på en vektor.
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

ankan skrev:Tackar.. Vad gör RB0/INT till skillnad mot övriga pinnar?
External interrupt (RB0) triggar på stigande flank eller fallande flank beroende på hur man ställer in det.
Interrupt-on-pin change(RB4 till RB7) triggar alltid på både stigande och fallande flank.
Skriv svar