cavorca
24.09.2006, 11:21
Hallo,
In meinem Programm steht etwa folgendes:
buffer[0]=portD
buffer[1]=portD
buffer[2]=portD
...
buffer[749]=portD
in assambler sieht das dann so aus:
$00F4 $5083 MOVF PORTD, W, 0
$00F6 $6F61 MOVWF main_global_buffer_2, 1
$00F8 $5083 MOVF PORTD, W, 0
$00FA $6F62 MOVWF main_global_buffer_3, 1
Das funktioniert soweit auch ganz gut.
wenn ich aber das nicht bis 749 programmiere sondern z.b. bis 1024 dann macht der pic nur noch irgendetwas chaotisches, was genau kann ich nicht sagen. auch wenn ich dann in ein 2. array speichere macht der pic nicht das was ich programmiert habe.
Woran kann das liegen?
MfG Cavorca
P.S. Ist das richtig: wenn der PIC mir 40 MHz läuft wird 5 mio mal/sec der wert an portD abgespeichert? Oder braucht der PIC für einen der Befehle länger?
In meinem Programm steht etwa folgendes:
buffer[0]=portD
buffer[1]=portD
buffer[2]=portD
...
buffer[749]=portD
in assambler sieht das dann so aus:
$00F4 $5083 MOVF PORTD, W, 0
$00F6 $6F61 MOVWF main_global_buffer_2, 1
$00F8 $5083 MOVF PORTD, W, 0
$00FA $6F62 MOVWF main_global_buffer_3, 1
Das funktioniert soweit auch ganz gut.
wenn ich aber das nicht bis 749 programmiere sondern z.b. bis 1024 dann macht der pic nur noch irgendetwas chaotisches, was genau kann ich nicht sagen. auch wenn ich dann in ein 2. array speichere macht der pic nicht das was ich programmiert habe.
Woran kann das liegen?
MfG Cavorca
P.S. Ist das richtig: wenn der PIC mir 40 MHz läuft wird 5 mio mal/sec der wert an portD abgespeichert? Oder braucht der PIC für einen der Befehle länger?