Gast
#239082
Hallo,
Ich habe hier einen Mega128 mit 32k externem SRAM und einem Problem:
Nehmen wir z.B. diese Funktion hier:
void rs232_txd_string(unsigned char *cString)
{ unsigned char cStrPos;
cStrPos=0;
do
{ rs232_txd(cString[cStrPos]);
cStrPos++;
}while(cString[cStrPos]!=0x00);
}
dann wird - wenn ich über MFile das externe RAM nicht aktiviert ist -
beim Aufruf von rs232_txd_string("test") wirklich
rs232_txd('t') rs232_txd('e') rs232_txd('s') rs232_txd('t')
ausgeführt.
schalte ich im MFile das externe RAM ein, so kommt statt des Strings
nur Datensalat daher.
Das externe RAM scheint zu funktionieren, denn z.B. mit:
char *ptr;
char cvar;
ptr=(char*)malloc(8192*sizeof(char));
ptr[8000]=0xAB
cvar=ptr[8000];
steht in cvar wirklich 0xAB.
Strings weigern sich aber, habe auch schon mit malloc() und Strings
gespielt, aber es hilft nix seufz
Vermutlich sollte ich ja nur irgendwo im Makefile noch was einstellen,
aber was...?
TIA,
ober