Interrupt ATTINY13 mit BASCOM

Gast #3928142
Lesenswert?

Guten Tag,

ich habe versucht beim ATTINY13 einen Interrupt auszulösen, der während 
die Led am pin3 blinkt, trotzdem PortB.4 schaltet.
Es blinkt zwar, aber das wars auch schon- mehr geht nicht.
Vl. kann mir jemand helfen?
Grüsse Freddy
1
$regfile = "attiny13.dat"                                   'Prozessor
2
$crystal = 9600000
3
Config Portb.3 = Output
4
Config Portb.4 = Output
5
Config Pinb.0 = Input
6

7
Config Int0 = Falling
8
Enable Int0
9
Enable Interrupts
10

11
Portb.1 = 1                                                 'Pullup an
12

13
Do
14
Set Portb.3
15
Waitms 100
16
Reset Portb.3
17
Waitms 100
18
Loop
19

20
Onint0:
21
Toggle Portb.4
22
Return
23

24
End                                                         'Ende
Gast #3928231
Lesenswert?

sorry, war mein Kopierfehler. Habe beides probiert, aber dann das 
falsche gelöscht.
Danke schonmal.

Richtig ist:

...Config Pinb.1 = Input  'also an pin6 hängt der Taster
......
...Portb.1 = 1

Aber es klappt trotzdem nicht.

Gruß Freddy
Gast #3928328
Lesenswert?

Du musst oben auf das den Name deiner Interruptroutine verweisen.

On INT0 Onint0

(Die "On"-Anweisung sagt dem Interrupthandler, zu welchem Label er 
springen muss, wenn der Interrupt ausgelöst wird. INT0 ist die 
Interruptbezeichnung, wie sie im Datenblatt spezifiziert ist. "Onint0" 
ist das Label, bzw. der Name den du seiner Interruptroutine gegeben 
hast.

Ich benenne der Übersichtlichkeit wegen alle Interruptroutinen am Anfang 
mit ISR_     (ISR = Abkürzung für "InterruptServiceRoutine"

Also in deinem Fall würde ich als Label "ISR_INT0" nehmen.

Oben würde dann stehen:
On INT0 ISR_INT0

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren