ENABLE/de

From MCS Wiki AVR
< ENABLE(Difference between revisions)
Jump to: navigation, search
(Created page with "= <span class="f_Header">Action</span> = Enable specified interrupt. <span style="font-family: Arial;"> </span> <span style="font-family: Arial;"> </span> = <spa...")
 
(Anmerkungen)
 
(7 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> =
  
Enable specified interrupt.
+
Freigeben des angegebenen Interrupts.
  
 
<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 30: Line 30:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; 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="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; 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="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; 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="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; 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="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
INPUT CAPTURE TIMER1 interrupt
+
INPUT CAPTURE TIMER1 Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| valign="top" width="28%" style="width: 153px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="28%" style="width: 153px; border: 1px solid rgb(0, 0, 0);" |  
COMPARE1A,OC1A or
+
COMPARE1A,OC1A oder
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
Line 73: Line 73:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
TIMER1 OUTPUT COMPARE A interrupt
+
TIMER1 OUTPUT COMPARE A Interrupt
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
In case of only one compare interrupt
+
 
 +
Wenn nur ein Compare Interrupt vorhanden.
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 84: Line 85:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; 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 91: Line 92:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
SPI interrupt
+
SPI Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 98: Line 99:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
Serial RX complete interrupt
+
Serial RX complete Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 105: Line 106:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; 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 112: Line 113:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
Serial TX complete interrupt
+
Serial TX complete Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 119: Line 120:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
Disables URXC, UDRE and UTXC
+
Disabled URXC, UDRE and UTXC
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 126: Line 127:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
Analog comparator interrupt
+
Analog-Comparator Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 133: Line 134:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
A/D converter interrupt
+
Analog/Digital Converter Interrupt
  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 140: Line 141:
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| valign="top" width="28%" style="width: 153px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="28%" style="width: 153px; border: 1px solid rgb(0, 0, 0);" |  
<span style="font-weight: bold;">XMEGA ONLY</span>
+
<span style="font-weight: bold;">Nur XMEGA</span>
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" | <br/>
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" | <br/>
Line 148: Line 149:
  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
 
| valign="top" width="63%" style="width: 350px; border: 1px solid rgb(0, 0, 0);" |  
The priority you want to assign to the interrupt.
+
Priorität, die dem Interrupt zugewiesen werden soll.
  
Specify Lo, Hi or Med.
+
Geben Sie Lo, Hi oder Med an.
  
In the Xmega you must provide the priority of the interrupts. Lo=Low priority. Hi=High priority and Med=Medium priority.
+
Beim Xmega muss man die Priorität eines Interrupts angeben. Lo=Low priority. Hi=High priority und Med=Medium priority.
  
If you do not specify a priority,&nbsp;<span style="font-weight: bold;">MED</span>&nbsp;will be used.
+
Wenn man keine Priorität angibt wird
 +
<span style="font-weight: bold;">MED</span>&nbsp;benutzt.
  
 
|}
 
|}
Line 160: Line 162:
 
<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 disabled (gesperrt).
  
The global interrupts master switch is also disabled by default.
+
Der Schalter für ALLE Interrupts ist standardmäßig ebenfalls disabled (gesperrt).
  
If you enable an interrupt, it will only fire if the master interrupt switch is enabled.
+
Wenn ein Interrupt freigegeben wird dann löst er nur aus wenn der Schalter für ALLE Interrupts freigegeben ist.
  
You enable this master switch with ENABLE INTERRUPTS.
+
Freigeben des Schalters für ALLE Interrupts mit ENABLE INTERRUPTS.
  
You can disable it with DISABLE INTERRUPTS.
+
Sperren mit DISABLE INTERRUPTS.
  
 
&nbsp;
 
&nbsp;
  
If an interrupt is executed, the global master switch will be disabled automatically by the hardware.
+
Wenn ein Interrupt ausgeführt wird dann wird der Schalter für ALLE Interrupts automatisch hardwaremäßig gesperrt.
  
This is to prevent other interrupts to occur.
+
Dadurch wird verhindert, dass andere Interrupts stattfinden.
  
When the interrupt routine returns, the processor hardware will automatically enable the master switch so new interrupts may occur.
+
Wenn die Interrupt Service Routine beendet wird dann wird der Schalter für ALLE Interrupts wieder freigegeben so dass neue Interrupts stattfinden können.
  
 
&nbsp;
 
&nbsp;
  
It depends on the processor how many and which interrupts it has. If you type ENABLE in the editor, you will get a pop up with a list of interrupts you can chose from.
+
Es ist abhängig vom Mikrocontroller wieviele Interrupts vorhanden sind. Wenn man im BASCOM-Editor ENABLE eingibt dann erscheint ein Popup-Fenster mit einer Liste der vorhandenen Interrupts.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
Line 186: Line 188:
 
= <span class="f_Header">XMEGA</span> =
 
= <span class="f_Header">XMEGA</span> =
  
In normal AVR chips the priority is determined by the interrupts address. The lower the address, the higher the priority.
+
Bei normalen AVR Mikrocontrollern ergibt sich die Priorität der Interrupts aus der Interrupt-Adresse. Je niedriger die Adresse ist desto höher ist die Priorität.
  
In the DAT file you can find a list with interrupts and their address.
+
In der DAT-Datei findet man eine Liste der Interrupts und deren Adressen.
  
For example , taken from the m1280def.dat file "
+
Beispiel aus einer m1280def.dat Datei:
  
 
&nbsp;
 
&nbsp;
Line 214: Line 216:
 
&nbsp;
 
&nbsp;
  
INT0 has the highest priority since it has the lowest address (address 2)
+
INT0 hat die höchste Priorität weil er die niedrigste Adresse (Adresse 2) hat.
  
 
&nbsp;
 
&nbsp;
  
The XMEGA has a priority system. You can specify if an interrupt as a low, medium or high priority.
+
Der XMEGA hat ein Prioritäten-System. Man kann einen Interrupt als low, medium oder high priority festlegen.
  
But you MUST enable these priorities &nbsp;with&nbsp;[[CONFIG_PRIORITY|CONFIG PRIORITY]]
+
Man MUSS diese Prioritäten mit
 +
&nbsp;[[CONFIG_PRIORITY|CONFIG PRIORITY]] festlegen.
  
If you use LO and MED priority, they have to be enabled.
+
Wenn man LO oder MED Priority benutzt dann muss das enabled werden.
  
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
Line 228: Line 231:
 
<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> =
  
 
[[DISABLE]]&nbsp;,&nbsp;[[ON INTERRUPT|ON]]&nbsp;,&nbsp;[[CONFIG PRIORITY|CONFIG PRIORITY]]
 
[[DISABLE]]&nbsp;,&nbsp;[[ON INTERRUPT|ON]]&nbsp;,&nbsp;[[CONFIG PRIORITY|CONFIG PRIORITY]]
Line 236: Line 239:
 
<span style="font-family: Arial;">&nbsp;</span>
 
<span style="font-family: Arial;">&nbsp;</span>
  
= <span class="f_Header">Partial Example</span> =
+
= <span class="f_Header">Beispiel (Codeausschnitt)</span> =
  
 
<br/><source lang="bascomavr">
 
<br/><source lang="bascomavr">
Enable Interrupts 'allow interrupts to be set
+
Enable Interrupts 'Freigabe ALLER Interrupts
Enable Timer1 'enables the TIMER1 interrupt
+
Enable Timer1 'Gibt den TIMER1-Interrupt frei
 
</source><br/>{{Languages}}
 
</source><br/>{{Languages}}
  
 
[[Category:BASCOM Language Reference/de]]
 
[[Category:BASCOM Language Reference/de]]

Latest revision as of 00:28, 12 March 2013

Contents

Funktion

Freigeben des angegebenen Interrupts.

 

 

Syntax

ENABLE interrupt [, prio]

 

 

Anmerkungen

Interrupt

Description

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 oder

 

COMPARE1, OC1

TIMER1 OUTPUT COMPARE A Interrupt

 


Wenn nur ein Compare Interrupt vorhanden.

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

Disabled URXC, UDRE and UTXC

ACI

Analog-Comparator Interrupt

ADC

Analog/Digital Converter Interrupt



Nur XMEGA


prio

Priorität, die dem Interrupt zugewiesen werden soll.

Geben Sie Lo, Hi oder Med an.

Beim Xmega muss man die Priorität eines Interrupts angeben. Lo=Low priority. Hi=High priority und Med=Medium priority.

Wenn man keine Priorität angibt wird MED benutzt.

 

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

Der Schalter für ALLE Interrupts ist standardmäßig ebenfalls disabled (gesperrt).

Wenn ein Interrupt freigegeben wird dann löst er nur aus wenn der Schalter für ALLE Interrupts freigegeben ist.

Freigeben des Schalters für ALLE Interrupts mit ENABLE INTERRUPTS.

Sperren mit DISABLE INTERRUPTS.

 

Wenn ein Interrupt ausgeführt wird dann wird der Schalter für ALLE Interrupts automatisch hardwaremäßig gesperrt.

Dadurch wird verhindert, dass andere Interrupts stattfinden.

Wenn die Interrupt Service Routine beendet wird dann wird der Schalter für ALLE Interrupts wieder freigegeben so dass neue Interrupts stattfinden können.

 

Es ist abhängig vom Mikrocontroller wieviele Interrupts vorhanden sind. Wenn man im BASCOM-Editor ENABLE eingibt dann erscheint ein Popup-Fenster mit einer Liste der vorhandenen Interrupts.

 

XMEGA

Bei normalen AVR Mikrocontrollern ergibt sich die Priorität der Interrupts aus der Interrupt-Adresse. Je niedriger die Adresse ist desto höher ist die Priorität.

In der DAT-Datei findet man eine Liste der Interrupts und deren Adressen.

Beispiel aus einer m1280def.dat Datei:

 

 

[INTLIST]

count=56

INTname1=INT0,$002,EIMSK.INT0,EIFR.INTF0

INTname2=INT1,$004,EIMSK.INT1,EIFR.INTF1

INTname3=INT2,$006,EIMSK.INT2,EIFR.INTF2

INTname4=INT3,$008,EIMSK.INT3,EIFR.INTF3

INTname5=INT4,$00a,EIMSK.INT4,EIFR.INTF4

INTname6=INT5,$00c,EIMSK.INT5,EIFR.INTF5

 

INT0 hat die höchste Priorität weil er die niedrigste Adresse (Adresse 2) hat.

 

Der XMEGA hat ein Prioritäten-System. Man kann einen Interrupt als low, medium oder high priority festlegen.

Man MUSS diese Prioritäten mit  CONFIG PRIORITY festlegen.

Wenn man LO oder MED Priority benutzt dann muss das enabled werden.

 

 

Siehe auch

DISABLE , ON , CONFIG PRIORITY

 

 

Beispiel (Codeausschnitt)


Enable Interrupts 'Freigabe ALLER Interrupts
Enable Timer1 'Gibt den TIMER1-Interrupt frei

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