Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Rasenmaehroboter Test

(Teste hier auch mal :-))
Zeile 69: Zeile 69:
  
  
<h1><span lang=EN-GB>Interrupts<o:p></o:p></span></h1>
 
  
<h2><!--[if gte vml 1]><v:rect id="_x0000_s1099" style='position:absolute;
 
margin-left:-9pt;margin-top:27.3pt;width:342pt;height:174pt;z-index:-2'
 
fillcolor="#cff"/><![endif]--><![if !vml]><span style='mso-ignore:vglayout;
 
position:absolute;z-index:-2;margin-left:-13px;margin-top:35px;width:458px;
 
height:234px'><img width=458 height=234
 
src="Praxisbuch%20für%20AVR%20mit%20Bascom%20V2_08-Dateien/image016.gif"
 
v:shapes="_x0000_s1099"></span><![endif]><span lang=EN-GB>Struktur:<o:p></o:p></span></h2>
 
 
<p class=MsoNormal><b><span style='mso-ansi-language:DE'>Config</span></b><span
 
style='mso-ansi-language:DE'> InterruptXXX<span style='mso-spacerun:yes'>
 
</span><span style='mso-tab-count:1'>      </span><span style='mso-tab-count:
 
1'>                </span><i>‘Konfiguriere Interrupt</i><o:p></o:p></span></p>
 
 
<p class=MsoNormal><strong><span style='mso-ansi-language:DE'>Enable</span></strong><span
 
style='mso-ansi-language:DE'> <b>Interrupts<span style='mso-tab-count:1'>              </span><span
 
style='mso-tab-count:1'>                </span></b><i>‘generell Interrupts zulassen</i><o:p></o:p></span></p>
 
 
<p class=MsoNormal><b><span style='mso-ansi-language:DE'>Enable</span></b><span
 
style='mso-ansi-language:DE'><span style='mso-spacerun:yes'>  </span>InterruptXXX<span
 
style='mso-tab-count:1'>        </span><span style='mso-tab-count:1'>                </span><i>‘schalte
 
speziell den InterruptXXX ein</i><o:p></o:p></span></p>
 
 
<p class=MsoNormal><b><span style='mso-ansi-language:DE'>On</span></b><span
 
style='mso-ansi-language:DE'><span style='mso-spacerun:yes'>  </span>InterruptXXX<span
 
style='mso-spacerun:yes'>  </span>SprungXXX<span style='mso-tab-count:1'>    </span><i>‘verzweige
 
bei InterruptXXX zu SprungXXX</i><o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><b><span lang=EN-GB>Do<o:p></o:p></span></b></p>
 
 
<p class=MsoNormal><span lang=EN-GB>....Hauptprogramm<span style='mso-tab-count:
 
1'>              </span><span style='mso-tab-count:1'>                </span><i>‘Hauptprogramm</i></span></p>
 
 
<p class=MsoNormal><b><span lang=EN-GB>Loop<o:p></o:p></span></b></p>
 
 
<p class=MsoNormal><b><span lang=EN-GB>End<o:p></o:p></span></b></p>
 
 
<p class=MsoNormal><span lang=EN-GB><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>SprungXXX:<span
 
style='mso-tab-count:1'>        </span><span style='mso-tab-count:1'>                </span><span
 
style='mso-tab-count:1'>                </span><i>‘Unterprogramm von
 
InterruptXXX</i><o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>....Ausführung<span
 
style='mso-tab-count:1'>    </span><span style='mso-tab-count:1'>                </span><span
 
style='mso-tab-count:1'>                </span><i>‘arbeitet hier etwas ab und
 
springt mit Return</i> <o:p></o:p></span></p>
 
 
<p class=MsoNormal><b><span style='mso-ansi-language:DE'>Return<span
 
style='mso-tab-count:1'>  </span><span style='mso-tab-count:2'>                              </span><span
 
style='mso-tab-count:1'>                </span></span></b><i><span
 
style='mso-ansi-language:DE'>‚ wieder zurück, zum Hauptprogramm</span></i><b><span
 
style='mso-ansi-language:DE'><o:p></o:p></span></b></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>Am Anfang muss man zuerst
 
den beabsichtigten Interrupt mit „Config“, konfigurieren. <o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>Dann das generelle
 
einschalten von Interrupts.<o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>Dann mit „Enable“ den
 
bestimmten Interrupt einschalten.<o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>Mit „On“ das Unterprogramm
 
(ISR) definieren, an die der Interrupt springen soll, wenn dieser ausgelöst
 
wird. (ISR= Interrupt Service Routine)<o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>Grundsätzlich kann man
 
das so betrachten, dass es das Hauptprogramm gibt (mit eventuellen
 
Unterprogrammen) und die Interrupt Service Routinen (ISR).<o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>Bei einem Interrupt, wird
 
das Hauptprogramm unterbrochen und der Prozessor spring in die ISR. Die ISR
 
wird abgearbeitet und mit Return wird wieder an die Stelle zurückgesprungen, wo
 
vorher das Hauptprogramm unterbrochen wurde.<o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>Man soll darauf achten,
 
dass in der ISR immer nur kurze Anweisungen abgearbeitet werden und der Hauptteil
 
dann im Hauptprogramm bearbeitet wird.<o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'>Sonst kann es sein, dass
 
man den Prozessor damit blockiert.<o:p></o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
 
<p class=MsoNormal><span style='mso-ansi-language:DE'><o:p>&nbsp;</o:p></span></p>
 
  
 
<h2><span lang=EN-GB>Interrupt: Int0<o:p></o:p></span></h2>
 
<h2><span lang=EN-GB>Interrupt: Int0<o:p></o:p></span></h2>

Version vom 13. Januar 2006, 10:43 Uhr

Testseite

Kategorie:Microcontroller




Hier kann man ein wenig experimentieren wie was geht! Einfach auf bearbeiten klicken und schreiben! Wieso ist das jetzt in so einem Kästchen? Eine neue Zeile im Haupttext. So strukturiert man Seiten:

Bla ??? blablabla
Test1234
Das geht ja gut!!!

Neuer Abschnitt

[math] E=m\cdot\underbrace{(a^2+b^2)}_{=c^222} [/math]

Neuer Abschnitt

bla bla bla ...

Unterabschnitt

bla bla bla ...

Unter-Unterabschnitt

Bildunterzeile für Beschreibung

bla bla bla ...

  • Aufzählung
  • Aufzählung
  • Aufzählung
  • Aufzählung
  1. Aufzählung
  2. Aufzählung
  3. Aufzählung
  4. Aufzählung

Ab hier Testbereich zum ausprobieren - kann ruhig verschandelt werden!!!

Teste hier auch mal :-)


Interrupts

Struktur:

Config InterruptXXX  		‘Konfiguriere Interrupt
Enable Interrupts		‘generell Interrupts zulassen
Enable  InterruptXXX		‘schalte speziell den InterruptXXX ein
On  InterruptXXX   SprungXXX	‘verzweige bei InterruptXXX zu SprungXXX

Do
....Hauptprogramm		‘Hauptprogramm
Loop
End

SprungXXX:			‘Unterprogramm von InterruptXXX
....Ausführung			‘arbeitet hier etwas ab und springt mit Return 
Return				‚ wieder zurück, zum Hauptprogramm




Interrupt: Int0<o:p></o:p>

<![if !vml]>

<![endif]><![if !mso]>
<![endif]>

<o:p></o:p>

<![if !mso]>
<![endif]><![if !mso & !vml]> <![endif]><![if !vml]>
<![endif]><o:p></o:p>

Config Int0 = Low Level ‘Configuriere Int0 auf Low Level<o:p></o:p>

Enable Interrupts ‘einschalten der Interrupts<o:p></o:p>

Enable Int0 ‘einschalten von Interrupt Int0<o:p></o:p>

On Int0 Isr_von_Int0 ‘springe zu Isr_von _Int0 <o:p></o:p>

<o:p> </o:p>

Do<o:p></o:p>

....Hauptprogramm<o:p></o:p>

Loop<o:p></o:p>

End<o:p></o:p>

<o:p> </o:p>

Isr_von_Int0: ‘ISR von Int0<o:p></o:p>

.....Programm-Code<o:p></o:p>

Return<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

Int0 ist ein Interrupt, der ausgelöst wird, wenn am Pin.d2 (INT0) beim Mega8, eine Veränderung auftritt. (Int1 für Pin.d3)<o:p></o:p>

Es gibt für diese Interrupts drei Einstellmöglichkeiten auf die sie reagieren können:<o:p></o:p>

Low Level = reagiert wenn der Pin auf Masse gesetzt wird.<o:p></o:p>

Falling = reagiert auf eine fallende Flanke<o:p></o:p>

Rising = reagiert auf eine steigende Flanke<o:p></o:p>


Closar:<o:p></o:p>

Tastverhältnis:<o:p></o:p>

Das Tastverhältnis (auch Tastgrad; engl. duty cycle) gibt das Verhältnis der Länge des eingeschalteten Zustands zur Periodendauer bei einem Rechtecksignal an.<o:p></o:p>

<o:p> </o:p>

RC-Filter:<o:p></o:p>

Ein Kombination aus Kondensator und Widerstand, die einen Filter bilden.<o:p></o:p>

Mann kann damit z.B. aus einem PWM-Signal eine Regelbare Gleichsannung machen.<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

</div>

</body>

</html>










--Roberto 10:14, 13. Jan 2006 (CET)


Ende vo Test----------


Negation

Hier wäre ein Abblockkondensator nötig: Abblockkondensator OhneC amAVR.jpg

Wieso? Sieht ein bisschen wie Tannennadeln [1] aus.

Das passt doch ganz gut in die Vorweihnachtszeit!

klar, als Deko würds was taugen, aber auf ne Stromversorgungsleitung ist so ein Muster mit 4MHz etwas fehl am Platze... Und wenn man zu Weihnachten nen Kondensator geschenkt bekommt, kann man ihn schnell mal einbauen, und dann hats sichs ausgenadelt:

Abblockkondensator 100nF amAVR.jpg

Ebene 2 Überschrift

Registertabelle8Bit

Bit: 7 6 5 4 3 2 1 0
Name: OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0

Registertabelle8BitFix

Bit: 7 6 5 4 3 2 1 0
Name: OCIE2 TOIE2 OCIE1A OCIE1B TOIE1 OCIE0


[math]\overline{}OSC1/CLKIN[/math] Quartz Input oder Input für externe Clock-Source.
[math]\overline{MCLR}/Vpp[/math] Wird ja Grafik generiert, geht leider nicht anders
[math]\overline{}RA0/AN0[/math] PORTA Bit 0 (TTL) oder Analog Input 0.

Text innerhalb GrauRotDesign

etwas Text in GrauRotDesignSchmal

[math]\overline{}OSC1/CLKIN[/math] Quartz Input oder Input für externe Clock-Source.
[math]\overline{MCLR}/Vpp[/math] Wird ja Grafik generiert, geht leider nicht anders
[math]\overline{}RA0/AN0[/math] PORTA Bit 0 (TTL) oder Analog Input 0.

[math]\overline{}OSC1/CLKIN[/math]


Ein Link Testseite2

Versuche:

Test test

man kann ja html anwenden :-)

Bild einfügen ganz einfach nur den genauen dateinamen in dieser Form eingeben [ [ B i l d : B e i s p i e l . j p e g ] ] ( Leerzeichen nur zum Besseren Verständnis

bla bla ... Test bla ...

Test von mir a_2




H2O

a2+ 2ab + b2 = (a + b)2


Beine65.jpg

Blablubb

LaTeX

[math]sum_{i=0}^n i^2[/math] h

[math]Z(\{x[n]\}) = X(z) := \sum_{n=-\infty}^{\infty}x(n)z^{-n}[/math]
   hgbn
bbv

fvvcbbb Vorlage:testvorlage

hhh

vfffj

xfc bbjjh f [math]\int_{0}^{\pi} \cos\left(x\right)\, \sin\left(x\right) \,\mathrm{d}\ x = 0[/math]

[math]\int \cos\left(x\right)\, \sin\left(x\right) \,\mathrm{d} x = -\frac{\cos\left(2\, x\right)}{4}[/math] nn h

öößßk

n

Datei:Beine.jpg

G

<a name="GND"> </a>

GND
"Ground": Masse einer Schaltung, auf die sich andere Potentiale beziehen. Damit liegt GND selber auf 0V. Alle GND-Symbole eines Schaltplans sind miteinander verbunden, auch wenn im Schaltplan keine Verbindung zwischen ihnen eingezeichnet wurde, um die Übersichtlichkeit zu erhöhen.

Test

Test2

Tähst ...

Gschau

schauerei

i schau

Ja, dann schaumamoi ...


Überschrift

Newly Posted Articles



<DynamicPageList> category=AVR count=20 </DynamicPageList>


LiFePO4 Speicher Test