PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Buffer wird gelöscht!?



lowferb
10.11.2006, 11:56
Hi liebe Experten!
Bin Anfänger und habe da ein Array mit Single gefüllt. Wenn ich auf einen Wert innerhalb der Timer_isr zugreifen möchte, erhalte ich außer bei N=1 nur noch Null-Daten(0.0), obwohl ich in meinem Programm das Array nicht mehr überschreibe. Im oberen Teil vor dem "Do" wird es richtig ausgedruckt!

'===========================================
; Buffer(Demo1) ;
';-----------------------------------------------------------------------------;
$regfile = "m16def.dat" 'für Atmega16
$crystal = 16000000
$baud = 9600

$hwstack = 32
$swstack = 10
$framesize = 40
'_--------------------------------------------------------------------------

Config Timer0 = Timer0 , Prescale = 1024

On Ovf0 Tim0_isr

Dim N As Byte
'als universaler Index

Dim Abuffer(11) As Single

Dim Al As Single

Timer0 = 134

Enable Timer0
Enable Interrupts

'--------------------------------------------------------------------------


Restore Daten
For N = 1 To 11
Read Al
Abuffer(n) = Al
Print "ABUFFER= " ; Abuffer(n) ; " ";
Next

Start Timer0


Do

'irgendwas

Loop
End




'================================================= ============

Tim0_isr:
!pop R24

Timer0 = 134

Print "abuffer(2)= " ; Abuffer(2) ; " ";
'Print "N = " ; N ; " ";

!push R24
Return


'Datenteil (abuffer) anlegen

Daten:
Data -0.001919! , 0.020396! , 0.006609! , -0.092751! , -0.005412! ,
Data 0.141029! , -0.005412! , -0.092751! , 0.006609! , 0.020396! , -0.001919!

'===========================================

Kann mir jemand erklären, woran das liegt?

vln Dank
lowferb