mit int TMR0 zwei char TMR0H und TMR0L ansprechen.

Gast #1419222
Lesenswert?

>Ich bin C Änfänger, hilft mir bitte :-)))

Nicht nur C-Defizite, sondern auch in Deutsch und Fragestellen.
Um welchen Controller und Compiler handelt es sich?
Solche Sachen sind meist in der Dokumentation des Compilers oder des 
Controllers oder in beiden beschrieben.
Es kann gut sein, dass dein Compiler die Int-Variable schon zur 
Verfügung stellt.

Man kann aber auch sehr einfach aus einer Int-Variablen zwei 
char-Variblen machen:

TMR0L = (TMR0 & 0xFF);
TMR0H = (char) (TMR0 >>8);

In die andere Richtung geht es so:

TMR0 = ((int) TMR0H)<<8) | (int) (TMR0L);


Per UNION kann man sowas vermutlich auch lösen.
Gast #1419244
Lesenswert?

>Dann definier doch einfach einen Int auf die Addresse von TMR0L, wie das
>geht, einfach in die prozessorspezifische H datei schauen.
1
sfr unsigned int TMR0            absolute 0x0FD6;
so geht es, Danke Chris .

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