DISABLE/de

From MCS Wiki AVR
< DISABLE(Difference between revisions)
Jump to: navigation, search
(Created page with "= <span class="f_Header">Action</span> = Disable specified interrupt. <span style="font-family: Arial;"> </span> <span style="font-family: Arial;"> </span> = <sp...")
 
(Example)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== (**COPIED FROM ENGLISH PAGE**) === <span class="f_Header">Action</span> =
+
= <span class="f_Header">Funktion</span> =
  
Disable specified interrupt.
+
Sperrt den angegebenen Interrupt.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
Line 15: Line 15:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">Remarks</span> =
+
= <span class="f_Header">Anmerkungen</span> =
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
<div style="padding: 0px; margin: 0px 0px 0px 4px;">
 
{| width="512" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
 
{| width="512" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;"
Line 23: Line 23:
  
 
| valign="top" width="58%" bgcolor="#ffffb2" style="width: 276px; background-color: rgb(255, 255, 178); border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" bgcolor="#ffffb2" style="width: 276px; background-color: rgb(255, 255, 178); border: 1px solid rgb(0, 0, 0);" |  
Description
+
Beschreibung
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 30: Line 30:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
External Interrupt 0
+
Externer Interrupt 0
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 37: Line 37:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
External Interrupt 1
+
Externer Interrupt 1
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 44: Line 44:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
TIMER0 overflow interrupt
+
TIMER0 Überlauf Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 55: Line 55:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
TIMER1 overflow interrupt
+
TIMER1 Überlauf Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 62: Line 62:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
INPUT CAPTURE TIMER1 interrupt
+
INPUT CAPTURE TIMER1 Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 69: Line 69:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
TIMER1 OUTPUT COMPARE A interrupt
+
TIMER1 OUTPUT COMPARE A Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 76: Line 76:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
TIMER1 OUTPUT COMPARE B interrupt
+
TIMER1 OUTPUT COMPARE B Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 83: Line 83:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
SPI interrupt
+
SPI Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 90: Line 90:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
Serial RX complete interrupt
+
Serial RX complete Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 97: Line 97:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
Serial data register empty interrupt
+
Serial data register empty Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 104: Line 104:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
Serial TX complete interrupt
+
Serial TX complete Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 111: Line 111:
  
 
| valign="top" width="58%" style="width: 276px; height: 16px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; height: 16px; border: 1px solid rgb(0, 0, 0);" |  
Disables URXC, UDRE and UTXC
+
Sperrt URXC, UDRE und UTXC
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 118: Line 118:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
Analog comparator interrupt
+
Analog comparator Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 125: Line 125:
  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="58%" style="width: 276px; border: 1px solid rgb(0, 0, 0);" |  
A/D converter interrupt
+
Analog/Digital Converter Interrupt
  
 
|}
 
|}
Line 131: Line 131:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
By default all interrupts are disabled.
+
Standardmäßig sind alle Interrupts gesperrt (disabled).
  
To disable all interrupts specify INTERRUPTS.
+
Um ALLE Interrupts zu sperren geben Sie INTERRUPTS an.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
To enable the enabling and disabling of individual interrupts use ENABLE INTERRUPTS.
+
Um das Freigeben und Sperren einzelner Interrupts zu ermöglichen geben Sie ENABLE INTERRUPTS an.
  
The ENABLE INTERRUPTS serves as a master switch. It must be enabled/set in order for the individual interrupts to work.
+
Das ENABLE INTERRUPTS funktioniert wie ein Hauptschalter. Es muss enabled/gesetzt sein um das Funktionieren einzelner Interrupts zu ermöglichen.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
The interrupts that are available will depend on the used microprocessor. The available interrupts are shown automatically in the editor.
+
Es ist anhängig vom Mikrocontroller welche Interrupts verfügbar sind. Die verfügbaren Interrupts werden automatisch im BASCOM-Editor angezeigt.
  
 
&nbsp;
 
&nbsp;
Line 149: Line 149:
 
&nbsp;
 
&nbsp;
  
[[File:Notice.jpg|left|Notice.jpg]]&nbsp;To disable the JTAG you can use DISABLED JTAG. The JTAG is not an interrupt but a device.
+
[[File:Notice.jpg|left|Notice.jpg]]&nbsp;Um JTAG zu sperren kann man DISABLED JTAG schreiben. JTAG ist kein Interrupt sondern ein Device.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
Line 155: Line 155:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">See also</span> =
+
= <span class="f_Header">Siehe auch</span> =
  
 
[[ENABLE]]
 
[[ENABLE]]
Line 163: Line 163:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">Example</span> =
+
= <span class="f_Header">Beispiel</span> =
  
 
<br/><source lang="bascomavr">
 
<br/><source lang="bascomavr">
Line 175: Line 175:
 
'-----------------------------------------------------------------------------------------
 
'-----------------------------------------------------------------------------------------
 
   
 
   
$regfile = "8535def.dat" ' specify the used micro
+
$regfile = "8535def.dat" ' Mikrocontroller
$crystal = 4000000 ' used crystal frequency
+
$crystal = 4000000 ' Taktfrequenz
$baud = 19200 ' use baud rate
+
$baud = 19200 ' Baudrate
 
$hwstack = 32 ' default use 32 for the hardware stack
 
$hwstack = 32 ' default use 32 for the hardware stack
 
$swstack = 10 ' default use 10 for the SW stack
 
$swstack = 10 ' default use 10 for the SW stack
 
$framesize = 40 ' default use 40 for the frame space
 
$framesize = 40 ' default use 40 for the frame space
 
   
 
   
Const Cmaxchar = 20 'number of characters
+
Const Cmaxchar = 20 'Anzahl Zeichen
 
   
 
   
Dim B As Bit 'a flag for signalling a received character
+
Dim B As Bit 'Ein Flag zum Signalisieren eines empfangenen Zeichens
Dim Bc As Byte 'byte counter
+
Dim Bc As Byte 'Byte Zähler
Dim Buf As String * Cmaxchar 'serial buffer
+
Dim Buf As String * Cmaxchar 'serieller Puffer
 
Dim D As Byte
 
Dim D As Byte
 
   
 
   
 
'Buf = Space(20)
 
'Buf = Space(20)
'unremark line above for the MID() function in the ISR
+
'Entkommentieren Sie die Zeile oben für die MID() Funktion in der ISR
'we need to fill the buffer with spaces otherwise it will contain garbage
+
'Wir müssen den Puffer mit Leerzeichen füllen weil er sonst Unsinn enthält.
 
   
 
   
 
Print "Start"
 
Print "Start"
 
   
 
   
On Urxc Rec_isr 'define serial receive ISR
+
On Urxc Rec_isr 'Definieren der Serial Receive ISR
Enable Urxc 'enable receive isr
+
Enable Urxc 'Freigeben des Receive Interrupts
 
   
 
   
 
   
 
   
 
   
 
   
Enable Interrupts 'enable interrupts to occur
+
Enable Interrupts 'Freigeben ALLER Interrupts
 
   
 
   
 
Do
 
Do
If B = 1 Then 'we received something
+
If B = 1 Then 'Es wurde etwas empfangen
 
  Disable Serial
 
  Disable Serial
  Print Buf 'print buffer
+
  Print Buf 'Puffer ausgeben
  Print Bc 'print character counter
+
  Print Bc 'Zeichenzähler ausgeben
 
   
 
   
 
   
 
   
  'now check for buffer full
+
  'Prüfen ob Puffer voll
  If Bc = Cmaxchar Then 'buffer full
+
  If Bc = Cmaxchar Then 'Puffer voll
  Buf = "" 'clear
+
  Buf = "" 'Löschen
  Bc = 0 'rest character counter
+
  Bc = 0 'Zeichenzähler zurücksetzen
 
  End If
 
  End If
 
   
 
   
  Reset B 'reset receive flag
+
  Reset B 'Receive Flag zurücksetzen
 
  Enable Serial
 
  Enable Serial
 
End If
 
End If
Line 222: Line 222:
 
Rec_isr:
 
Rec_isr:
 
Print "*"
 
Print "*"
If Bc < Cmaxchar Then 'does it fit into the buffer?
+
If Bc < Cmaxchar Then 'Passt es in den Puffer?
  Incr Bc 'increase buffer counter
+
  Incr Bc 'Puffer-Zähler erhöhen
 
   
 
   
 
   
 
   
  If Udr = 13 Then 'return?
+
  If Udr = 13 Then ' Return?
 
  Buf = Buf + Chr(0)
 
  Buf = Buf + Chr(0)
 
  Bc = Cmaxchar
 
  Bc = Cmaxchar
 
  Else
 
  Else
  Buf = Buf + Chr(udr) 'add to buffer
+
  Buf = Buf + Chr(udr) 'Zum Puffer hinzufügen
 
  End If
 
  End If
 
   
 
   
 
   
 
   
 
  ' Mid(buf , Bc , 1) = Udr
 
  ' Mid(buf , Bc , 1) = Udr
  'unremark line above and remark the line with Chr() to place
+
  'Entkommentieren Sie die Zeile oben und setzen Sie die Zeile mit Chr() als Kommentar um das Zeichen
  'the character into a certain position
+
  'an eine bestimmte Position zu plazieren.
 
  'B = 1 'set flag
 
  'B = 1 'set flag
 
End If
 
End If
B = 1 'set flag
+
B = 1 'Flag setzen
 
Return
 
Return
 
</source><br/>{{Languages}}
 
</source><br/>{{Languages}}
  
 
[[Category:BASCOM Language Reference/de]]
 
[[Category:BASCOM Language Reference/de]]

Latest revision as of 01:02, 12 March 2013

Contents

Funktion

Sperrt den angegebenen Interrupt.

 

 

Syntax

DISABLE interrupt [device]

 

 

Anmerkungen

Interrupt

Beschreibung

INT0

Externer Interrupt 0

INT1

Externer Interrupt 1

OVF0,TIMER0, COUNTER0

TIMER0 Überlauf Interrupt

OVF1,TIMER1,

 

COUNTER1

TIMER1 Überlauf Interrupt

CAPTURE1, ICP1

INPUT CAPTURE TIMER1 Interrupt

COMPARE1A,OC1A

TIMER1 OUTPUT COMPARE A Interrupt

COMPARE1B,OC1B

TIMER1 OUTPUT COMPARE B Interrupt

SPI

SPI Interrupt

URXC

Serial RX complete Interrupt

UDRE

Serial data register empty Interrupt

UTXC

Serial TX complete Interrupt

SERIAL

Sperrt URXC, UDRE und UTXC

ACI

Analog comparator Interrupt

ADC

Analog/Digital Converter Interrupt

 

Standardmäßig sind alle Interrupts gesperrt (disabled).

Um ALLE Interrupts zu sperren geben Sie INTERRUPTS an.

 

Um das Freigeben und Sperren einzelner Interrupts zu ermöglichen geben Sie ENABLE INTERRUPTS an.

Das ENABLE INTERRUPTS funktioniert wie ein Hauptschalter. Es muss enabled/gesetzt sein um das Funktionieren einzelner Interrupts zu ermöglichen.

 

Es ist anhängig vom Mikrocontroller welche Interrupts verfügbar sind. Die verfügbaren Interrupts werden automatisch im BASCOM-Editor angezeigt.

 

 

Notice.jpg
 Um JTAG zu sperren kann man DISABLED JTAG schreiben. JTAG ist kein Interrupt sondern ein Device.

 

 

Siehe auch

ENABLE

 

 

Beispiel


'-----------------------------------------------------------------------------------------
'name : serint.bas
'copyright : (c) 1995-2005, MCS Electronics
'purpose : serial interrupt example for AVR
'micro : 90S8535
'suited for demo : yes
'commercial addon needed : no
'-----------------------------------------------------------------------------------------
 
$regfile = "8535def.dat" ' Mikrocontroller
$crystal = 4000000 ' Taktfrequenz
$baud = 19200 ' Baudrate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
 
Const Cmaxchar = 20 'Anzahl Zeichen
 
Dim B As Bit 'Ein Flag zum Signalisieren eines empfangenen Zeichens
Dim Bc As Byte 'Byte Zähler
Dim Buf As String * Cmaxchar 'serieller Puffer
Dim D As Byte
 
'Buf = Space(20)
'Entkommentieren Sie die Zeile oben für die MID() Funktion in der ISR
'Wir müssen den Puffer mit Leerzeichen füllen weil er sonst Unsinn enthält.
 
Print "Start"
 
On Urxc Rec_isr 'Definieren der Serial Receive ISR
Enable Urxc 'Freigeben des Receive Interrupts
 
 
 
Enable Interrupts 'Freigeben ALLER Interrupts 
 
Do
If B = 1 Then 'Es wurde etwas empfangen
 Disable Serial
 Print Buf 'Puffer ausgeben
 Print Bc 'Zeichenzähler ausgeben
 
 
 'Prüfen ob Puffer voll
 If Bc = Cmaxchar Then 'Puffer voll
 Buf = "" 'Löschen
 Bc = 0 'Zeichenzähler zurücksetzen
 End If
 
 Reset B 'Receive Flag zurücksetzen
 Enable Serial
End If
Loop
 
Rec_isr:
Print "*"
If Bc < Cmaxchar Then 'Passt es in den Puffer?
 Incr Bc 'Puffer-Zähler erhöhen
 
 
 If Udr = 13 Then ' Return?
 Buf = Buf + Chr(0)
 Bc = Cmaxchar
 Else
 Buf = Buf + Chr(udr) 'Zum Puffer hinzufügen
 End If
 
 
 ' Mid(buf , Bc , 1) = Udr
 'Entkommentieren Sie die Zeile oben und setzen Sie die Zeile mit Chr() als Kommentar um das Zeichen
 'an eine bestimmte Position zu plazieren.
 'B = 1 'set flag
End If
B = 1 'Flag setzen
Return

Languages   English Deutsch  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language