Forum: Mikrocontroller und Digitale Elektronik Portierung ASM


von Ern B. (ernybert) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi Leutz,

Ich hätte da mal eine Frage an die Assembler-Cracks unter euch! ;)

Was wird benötigt, um ein Assemblerinline von einem Atmega 8 auf einen 
Mega128 (bzw At90can128) umzuschreiben? Ich habe sehr wenig Plan von 
Assembler und habe eine Code im Internet gefunden, welchen ich aber nun 
portieren möchte.

Code im Anhang!

Muss ich die Register umstellen/umbenennen oder ist das alles voll 
kompatibel? Wenn Ja, dann hab ich ein Fehler im Lochrasteraufbau xD

Vielen Dank

Erny!

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

also der CODE an sich ist erst mal zu 100% kompatibel, was ggf. 
Anzupassen ist sind die Hardwareregister. Der Code scheint aber ja eh 
nur PortPins umzuschalten, und die sind:
beim Mega128 von Port A bis E auch mit IN, OUT, SBI, CBI zu erreichen
beim 90can128 alle mit IN, OUT, SBI, CBI zu erreichen

also sollte der Code laufen, wenn du beim M128 nicht Port F oder G 
verwenden willst.

Sascha

von Ern B. (ernybert) Benutzerseite


Lesenswert?

Okay Danke,

also kann ich das Codetechnische schonmal ausschließen ^^.
Muss ich halt noch einmal mein Aufbau überprüfen.

Grüße,
Erny

von Sascha W. (sascha-w)


Lesenswert?

Ern Bern schrieb:
> Okay Danke,
>
> also kann ich das Codetechnische schonmal ausschließen ^^.
außer das Timing - das passt nur wenn dein Controller mit der selben 
Frequenz läuft wie der m8 aus dem Codebeispiel.

> Muss ich halt noch einmal mein Aufbau überprüfen.
was geht denn nicht?
hast du ein Oszi zum Testen?

Sascha

von Ern B. (ernybert) Benutzerseite


Lesenswert?

Sascha Weber schrieb:
> außer das Timing - das passt nur wenn dein Controller mit der selben
> Frequenz läuft wie der m8 aus dem Codebeispiel.

Ja laufen beide mit 16Mhz (selber Quarz)

Sascha Weber schrieb:
> was geht denn nicht?
> hast du ein Oszi zum Testen?

Nein, ich habe leider kein Oszi.
Der Code ist für die Ansteuerung von WS2812-LED's. Ich hab den bei 
Hackaday.com gefunden. Für den Atmega8 läuft er wunderbar.
Für meine m128 hab ich nen anderen Port genommen. Es kann durchaus sein, 
dass ich mich verlötet habe ^^ Ich schaue heute Abend mal nach.

Grüße,
Erny!

von Ern B. (ernybert) Benutzerseite


Lesenswert?

Hi,

Also, es ist wie ich es befürchtet habe. Ich habe den falschen Pin 
angelötet ... Naja daraus lernr man mal wieder:

KONZENTRATION BEI DER ARBEIT ! ;)

Grüße und Danke für die Hilfe

Erny (der in Zukunft alles siebzehn mal kontrolliert)

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.