Forum: Mikrocontroller und Digitale Elektronik Trigger zwischen zwei Befehle in Assembly


von Sercan E. (ergansxn)


Lesenswert?

Hallo, ich möchte in einem Assembler Programm zwischen zwei Befehlen 
einen Trigger einbauen, d.h. nach dem ich z.B. meine Werte in bestimmte 
Register geladen habe wird ein Kommando ausgeführt und bevor dieses 
Kommando ausgeführt wird möchte ich einen Trigger einbauen, sodass ich 
z.B. an einem Oszilloskop sehen kann, dass ich gerade an dieser Stelle 
bin.
Ich habe leider nichts dazu gefunden wie ich in Assembly trigger 
einbauen kann.

von Jürgen D. (poster)


Lesenswert?

Also in "Assembler" würde ich an der gewünschten Stelle eine Zeile 
einfügen die eine zuvor initialisierten Portpin toggelt. An den Pin 
kommt dein Oszilloskop.
Das sollte eigentlich auch in jeder anderen Programmiersprache genau so 
gehen.

von Sercan E. (ergansxn)


Lesenswert?

sowas z.B?

PORTB ^= ( 1 << PB0 );

von spess53 (Gast)


Lesenswert?

Hi

>sowas z.B?

>PORTB ^= ( 1 << PB0 );

Das ist Assembler?

MfG Spess

von Jürgen D. (poster)


Lesenswert?

Kommt auf deine Hardware an.
Ich würde
    BTG PORTB,0
verwenden.

bei einem PIC mit Testpin an RB0.

von Sercan E. (ergansxn)


Lesenswert?

Jürgen D. schrieb:
> Kommt auf deine Hardware an.
> Ich würde
>     BTG PORTB,0
> verwenden.
>
> bei einem PIC mit Testpin an RB0.

Ich habe einen ATxmega16A4

von spess53 (Gast)


Lesenswert?

Hi

>Ich habe einen ATxmega16A4

Und die haben Portregister zum Setzen, Löschen und Togglen von Portpins.

MfG Spess

von Sercan E. (ergansxn)


Lesenswert?

spess53 schrieb:
> Hi
>
>>Ich habe einen ATxmega16A4
>
> Und die haben Portregister zum Setzen, Löschen und Togglen von Portpins.
>
> MfG Spess

so vielleicht? aber hier wird mir angezeigt "constant value required"

in     R26, PORTE
ldi    R27, 0xFF
eor    R26, R27
out    PORTE, R26

von ?!? (Gast)


Lesenswert?

Damit toggelst du alle 8 Bits dieses Ports...

von Sercan E. (ergansxn)


Lesenswert?

?!? schrieb:
> Damit toggelst du alle 8 Bits dieses Ports...

ja das hat Jürgen D. im ersten Post vorgeschlagen oder habe ich das 
falsch verstanden.

von Jürgen D. (poster)


Lesenswert?

Ich schrieb da von einen Portpin. Wenn du den ganzen Port toggeln 
möchtest ist das auch kein Problem, da kannst du dann ja gleich acht 
Oszilloskope dran anschließen :)

von spess53 (Gast)


Lesenswert?

Hi

>so vielleicht? aber hier wird mir angezeigt "constant value required"

>in     R26, PORTE
>ldi    R27, 0xFF
>eor    R26, R27
>out    PORTE, R26

Ich habe noch keinen ATXMega benutzt, aber ich weiß, das es keinen 
'PortE' in dieser Form gibt. Hast du überhaupt schon mal einen ATXMega 
programmiert?

Sollte eigentlich etwa so

ldi    R27, 1<<PINNUMMER
sts PORTE_OUTTGL, r27

aussehen.

MfG Spess

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.