ENABLE/de
(→(**COPIED FROM ENGLISH PAGE**) =) |
(→Remarks) |
||
Zeile 15: | Zeile 15: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <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;" | ||
Zeile 30: | Zeile 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);" | | ||
− | + | Externer Interrupt 0 | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 37: | Zeile 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);" | | ||
− | + | Externer Interrupt 1 | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 44: | Zeile 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 | + | TIMER0 Überlauf Interrupt |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 55: | Zeile 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 | + | TIMER1 Überlauf Interrupt |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 62: | Zeile 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 | + | 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 | + | COMPARE1A,OC1A oder |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Zeile 73: | Zeile 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 | + | TIMER1 OUTPUT COMPARE A Interrupt |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | ||
+ | Wenn nur ein Compare Interrupt vorhanden. | ||
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 84: | Zeile 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 | + | TIMER1 OUTPUT COMPARE B Interrupt |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 91: | Zeile 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 | + | SPI Interrupt |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 98: | Zeile 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 | + | Serial RX complete Interrupt |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 105: | Zeile 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 | + | Serial data register empty Interrupt |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 112: | Zeile 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 | + | Serial TX complete Interrupt |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 119: | Zeile 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);" | | ||
− | + | Disabled URXC, UDRE and UTXC | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 126: | Zeile 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 | + | Analog-Comparator Interrupt |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 133: | Zeile 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);" | | ||
− | + | Analog/Digital Converter Interrupt | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 148: | Zeile 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);" | | ||
− | + | 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 | |
+ | <span style="font-weight: bold;">MED</span> benutzt. | ||
|} | |} | ||
Zeile 160: | Zeile 162: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | 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. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> |
Version vom 12. März 2013, 00:12 Uhr
Inhaltsverzeichnis |
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
|
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 |
|
|
XMEGA ONLY |
|
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
In normal AVR chips the priority is determined by the interrupts address. The lower the address, the higher the priority.
In the DAT file you can find a list with interrupts and their address.
For example , taken from the m1280def.dat file "
[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 has the highest priority since it has the lowest address (address 2)
The XMEGA has a priority system. You can specify if an interrupt as a low, medium or high priority.
But you MUST enable these priorities with CONFIG PRIORITY
If you use LO and MED priority, they have to be enabled.
See also
DISABLE , ON , CONFIG PRIORITY
Partial Example
Enable Interrupts 'allow interrupts to be set Enable Timer1 'enables the TIMER1 interrupt
Languages | English • Deutsch |
---|