ja, das ist ne blöde Sache, PIC16 und C, da sind die PIC18 besser für C geeignet
Prinzipiell hast Du recht, d.h. die Architektur der PIC18 kommt C mehr entgegen (in Assembler sind sie aber auch "angenehmer").
Eine Lösung für das Problem von fritzle123 Problem habe ich im Moment auch nicht, da ich den CC5X nicht näher kenne. Es ist aber eigentlich eindeutig ein Problem des verwendeten Compilers, denn PICC von HT-Soft kann dafür Code erzeugen (warum auch nicht, ist ja schließlich in Assembler auch möglich)
Code:
*ptr1 = *ptr2
MOVF ptr2, W
MOVWF FSR ; FSR zeigt auf ptr2
MOVF INDF, W ; w enthält Inhalt von ptr2
MOVWF 0x70 ; Inhalt von ptr2 in 0x70 zwischenspeichern
MOVF ptr1, W
MOVWF FSR ; FSR zeigt auf ptr1
MOVF 0x70, W ; W enthält den Inhalt von ptr2
MOVWF INDF ; Inhalt von ptr1 = Inhalt von ptr2
Von diesem Compiler gibt es auch eine freie Version, ist für den 16F877 aber auf 2k Words Code und 2 RAM-Bänke beschränkt.
http://www.htsoft.com/products/PICClite.php
Bernd
Lesezeichen