PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PC Interrupts beim ATTiny 24



MiniMax
18.10.2012, 16:07
Moin Jungs,
ich hab da nen Problem mit Bascom....
Und zwar versuche ich den Pin Change Interrupt 7 vom Tiny24 zum Laufen zu bekommen... PCInt 0,1 erkennt er nur bei 7 mault Bascom....


Enable Pcint7
On Pcint7 Flanke_ch2

Laut DB hat der Ja nen PCInt7..

Gibt es dafür von euch ne Lösung?
Bascom 2.0.7.1
Vielen Dank im Vorraus...

Searcher
18.10.2012, 16:42
Hallo,

PCINT7 ist auf Portpin PA7
Dort must Du ihn erst im Maskenregister PCMSK0 freischalten.
Alle PortA Pinchangeinterrupts sind dem BASCOM "PCINT0" zugeordnet.
(Alle PortB Pinchangeinterrupts sind dem BASCOM "PCINT1" zugeordnet.)

Also


PCMSK0.PCINT7 = 1
Enable Pcint0
On Pcint0 Flanke_ch2

Nicht "Enable Interrupts" vergessen.

Da hatte ich auch schon mal rumgerätselt und bin dann mit dem Simulator und probieren drauf gekommen.

Gruß
Searcher

Sauerbruch
18.10.2012, 16:47
Hallo MiniMax,

es gibt nur ZWEI Pin-Change-Interrupts: PCINT0 und 1.
Allerdings gibt´s eine Menge I/O-Ports, mit denen die Interrupts ausgelöst werden können:
Die Anschlüsse PCINT0-7 lösen PCINT0 aus, und die verbleibenden (PCINT8-11) lösen PCINT1 aus.
Das hat mich anfangs auch verwirrt...

***
Edit:
Sorry - das war jetzt ja wohl ein klassisches Synchron-Posting :-)

Searcher
18.10.2012, 17:07
Sorry - das war jetzt ja wohl ein klassisches Synchron-Posting :-)
:) Doppelt genäht hält besser :-)

MiniMax
18.10.2012, 19:26
Moin,
Danke das ist des Rätsels Lösung ;)
Noch ne Frage: Timer2 des Controllers in ne Byte Variable... Da sagt der "Ausgangvariable stimmt nicht mit der Zielvariabel überein" und "Zuweisung Error" ???
Habt ihr da auch nen Trick? bin Ratlos...

Searcher
18.10.2012, 19:40
Der zweite Timer auf'm ATtiny24 (Timer1) ist ein 16Bit Timer. Bei zB "A = Timer1" sollte A eine Word Variable sein.

Gruß
Searcher

MiniMax
18.10.2012, 19:58
Ich meine aber den 3. Timer2 mit 8bit....

Searcher
18.10.2012, 20:04
Ich meine aber den 3. Timer2 mit 8bit....

Hi,
beim ATtiny24 gibt es nur 2 Timer, den Timer0 (8 Bit) und Timer1 (16 Bit). Nach welchem Datenblatt arbeitest Du denn?

Gruß
Searcher

MiniMax
18.10.2012, 20:13
Uhi Nach den Timern habe ich nicht geschaut... Nehme sonst immer nur Megas die haben Timer2 ... Danke euch dann nehme ich einfach den Timer0 :D Danke...