8051 A/D Problem in C

Moderator (Firma: Titel) Persönliche Seite #1186764
Lesenswert?

Der in C übliche Weg der Parameterübergabe ist nicht über den Akku. Der 
wird bei einem Funktionsaufruf gesichert und danach wieder der alte Wert 
hergestellt.

Sieh dir mal die Paramterübergabe in anderen C-Programmen an.

Und da wird es auf jeden Fall auch noch klemmen:
1
  c = P4_1;
2
  ACC = c;
In C wird nicht mit Carry und Akku herumhantiert. Das darf der Compiler 
selber machen.


Ich könnte mir u.A. z.B. sowas vorstellen:
1
char lies8bit(void)
2
{
3
  char schieberegister = 0;
4
  P4_1 = 1;
5
  for(j=8;j>0;j--)
6
  {
7
    P4_0 = 1;
8
    warte();
9
    if(P4_1) schieberegister = schieberegister|0x01; 
10
    schieberegister <<= 1;
11
    warte();
12
    P4_0 = 0;
13
    warte();
14
  }
15
   return schieberegister;
16
}

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