Hex-Zahl in TH0 und TL0 (in C)

Gast #1340455
Lesenswert?

Hallo,

Bei meinem Programm geht es darum, vier Schrittmotoren mit 
unterschiedlichen Frequenzen anzusteuern.
Die generierung der Frequenzen ist ausgearbeitet und funktioniert.
Bisher jedoch muss man die HEX-Zahlen für TH0 und TL0 von Hand eingeben.
Möchte aber, dass die abhängig von einer bestimmten variablen sind, so 
dass ich für jeden Schrittmotor eine andere Frequenz erhalte und diese 
darüber regeln kann.
>> ich erhalte eine Hex-Zahl z.B. d0fc, welche ich jedoch für TH0 und TL0 in 0xdc 
und 0xfc aufteilen muss. kann mir da jmd helfen. bzw. was für Möglichkeiten gibt 
es?

Vielen Dank schon mal.

Hoffe ich habe mich genau genug ausgedrückt, ansonsten eben Rückfragen:)
#1340477
Lesenswert?

In C ist es vollkommen wurscht, ob Du Zahlen dezimal, hex oder octal 
hinschreibst.
Da der Mensch aber Dezimalzahlen besser versteht, sollte man diese auch 
verwenden.

Um nun einen 16-Bit Wert in 2*8-Bit zu splitten, gibts den Klassiker:
1
  low_byte = wert & 0xFF;
2
  high_byte = (unsigned int)wert >> 8;

Beim Timer ist zu beachten, daß man ihn vorher anhält. Sonst kann es zu 
einem Überlauf kommen, d.h. einem Fehler von 256.

Weiterhin ist zu beachten, daß man ein Reload durch Addition zum Timer 
macht, wenn eine hohe Genauigkeit gefordert ist. Dadurch rechnet sich 
nämlich die Interrupteinsprungzeit, Register pushen usw. raus.


Peter
Gast #1341079
Lesenswert?

vielen Dank,
das war genau das was ich gesucht habe.

kann mir auch jmd sagen, wie ich zwei unterschiedliche while-Schleifen 
gleichzeitig ablaufen lassen kann? denn bisher läuft nur diejenige ab, 
die in meinem Quelltext an erste Stelle steht. Warum?!

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