16 bit Addition PIC18

Gast #3243047
Lesenswert?
• ▲
▼
Ich bin gerade dabei meinen PIC18F46k22 in C zu programmieren und bin 
auf folgendes Problem gestoßen: Ich müsste zu einem Registerpaar (CCPR1H 
und CCP1L) aus zwei 8-bit Register eine 16-bit Integer addieren. In ASM 
hätte ich damit kein Problem:
CCPR1H = INThigh + CCPR1H
CCPR1L = INTlow + CCPR1L
wenn carry = 1 : Increment CCPR1H

Wie kann ich das in C machen? kann ich auch einfach das Carry Flag 
abfragen?
Gibt es eine elegantere Lösung?
#3243074
Lesenswert?
• ▲
▼
Ich kenne weder die PIC Architektur noch die dazugehörigen Werkzeuge, 
aber im Falle von AVRs könnte man auch mittels "CCPR1" zugreifen. Der 
Compiler wandelt das dann entsprechend in zwei Zugriffe um.

Laut [1] sollte das auch in deinem Fall klappen. Ansonsten wird dort 
auch noch die Möglichkeit mittels Bit-Shift vorgestellt.

Mit freundlichen Grüßen,
Karol Babioch

[1]: http://www.mikroe.com/forum/viewtopic.php?t=19166

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