Hey,
Habe hier ein kleines Programm, welches unter anderem einen Buffer in
den externen Speicher schreiben und lesen soll. Das ganze sieht
vereinfacht so aus (hab das unwesentliche mal weggeleassen):
Header.h:
1 | extern ubyte xdata rec_buffer[32];
|
Function.c:
1 | ubyte xdata rec_buffer[32] = {0};
|
2 |
|
3 | void foo()
|
4 | {
|
5 | //Option 1
|
6 | rec_buffer[0] = 0xFF; // Geht nicht
|
7 |
|
8 | //Option 2
|
9 | ubyte xdata *ptr_buf = rec_buffer;
|
10 | ptr_buf[0] = 0xFF // Geht nicht
|
11 | }
|
Mein Problem ist, dass ich in beiden Fällen zwar keine Compilerfehler
bekomme, wenn ich es teste wird nichts in den Speicher geschrieben. Beim
Debuggen sehe ich zwar dass die Pointer korrekterweise auf den externen
Speicher zeigen (X:0x0000000), aber es wird nie was dorthin geschrieben
und die Werte bleiben immer 0.
Was veregsse ich da bzw. mache ich falsch?
Viele Grüße
Flipp