Verständnisfrage Assembler Code

Gast #2406706
Lesenswert?

Hallo,

ich komme hier mit logischen Überlegungen nicht mehr weiter, daher die 
Frage an die Profis.
Ich versuche momentan einen RC Brushlesregler mit einer anderen Firmware 
zu flashen (Atmega8). Eine gute Anlaufstelle für eine alternative 
Firmware ist die Seite von Quax: http://home.versanet.de/~b-konze/
Ich möchte hier die angehängte Firmware für die Hardware meines Reglers 
anpassen(Portzuweisungen) dies kann in der .inc datei vorgenommen 
werden, allerdings habe ich hier ein Verständnisproblem.

Die Zuweisungen in der .inc Datei sehen wie folgt aus:
…..
;*********************
; PORT C definitions *
;*********************
.equ  mux_a    = 5  ; ADC5 phase input
.equ  mux_b    = 4  ; ADC4 phase input
…..

Im Code wird mux_a folgendermaßen  verwendet:
com3com4:  ApFET_off    ; Ap off
    sbrs  flags1, POWER_OFF
    CpFET_on    ; Cp on
    ldi  temp1, mux_a    ; set comparator multiplexer to phase A
    out  ADMUX, temp1
    cbi  ADCSRA, ADEN    ; disable ADC


weder in der .inc noch im code konnte ich die Zuweisung von mux_a auf 
PortC5 finden, eben nur mux_a =5
Woher weiß der Controller jetzt das er auf PortC5 zugreifen soll? Es 
gibt ja auch mux_c der auf PortD liegt..

Grüße
Karl
Angehängte Dateien:
Gast #2406737
Lesenswert?

Karl schrieb:
> Woher weiß der Controller jetzt das er auf PortC5 zugreifen soll?

Ein paar Grundlagen über die Funktionen des Prozessors sind schon 
erforderlich, wenn man sich an solch ein Projekt wagt. Vieleicht schaust 
du mal in das Tutorial, und auch ins Datenblatt.

Die ADC-Eingänge sind fest definiert (siehe Datenblatt), da braucht es 
keine zusätzliche Angabe, an welchem Port die liegen. Die Nummer reicht.

Oliver

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren