Gast
#158440
Hi, hab mal ne Frage: Wie bestimme ich die parameter m und n um eine interrupt routine aufzurufen? interrupt n using m Und was bedeuten diese Parameter?
|
Anzeige
|
interrupt
Gast
#158440
Hi, hab mal ne Frage: Wie bestimme ich die parameter m und n um eine interrupt routine aufzurufen? interrupt n using m Und was bedeuten diese Parameter?
Gast
#158441
Tolle Frage geht wohl um einen 8051. Die Sprache wäre auch ganz gut gewesen.... n ist die Interuptnummer (n*8)+3 oder so gibt die Interupt Addresse und damit den Interupt m ist die verwendete Registerbank es gibt 4 davon dieser Wert ist optional Thomas
Gast
#158442
Es geht um einen AT89LS8252 der in c programmiert wird. Timer 1 lösst diesen interrupt aus. void name() interrupt 3 using 3 wie komme ich den genau auf diese Zahlen? m wäre nach deiner Rechnung (3*8)+3= 27=m ? passt irgendwie nicht?
Gast
#158443
doch das passt 27 ist 0x001b das ist die Startadresse des Timer1 Interupts (steht im Datenblatt) Thomas
Gast
#158444
stimmt :) vielen Dank! Wenn die Interrupts nicht extrem groß sind (was Interrupts ja nicht sein sollten), dann verschwendet "using" oft mehr SRAM als das es nützt. Und wenn Bank 1 und 2 nicht verwendet werden, dann fragmentiert "using 3" auch noch das SRAM. Auch muß man bei "using" drauf achten, daß sämtliche Unterfunktionen das gleiche "using n" verwenden und das aber kein Interrupt mit anderer Priorität das gleiche "using n" verwendet. In der Regel ist es also besser, das "using" wegzulassen. Peter Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|