Így nekiestem élesben a memóriafoglaltság kezelésének.
Alaprendszer: ATMega128, SD kártya. AVRDOS használat. Memóriából a belső 4k a próba alapja.
Kód: Egész kijelölése
$hwstack = 800
$swstack = 225
$framesize = 150
DBD és $DBG használata. A Bascom könyvet követve (
Hibakeresés) nem jutottam eredményre. lehet túl komplex a program . Mondjuk a M128 30%-a tele... A .log-ba mentett adatok alapján nem jött ki értelmes eredmény...
Második próba:
Az STCheck utasítás és az Error változó használata.
Kód: Egész kijelölése
'Deklaraciok
.
.
.
Const Stcheckdbg = 1
#if Stcheckdbg = 1
Dim Error As Byte
#endif
.
.
.
.
Do
.
.
.
Loop
.
.
Sub Valami()
Local A as string*30
#if Stcheckdbg = 1
Stcheck
Print "openfile:ErrorSt:" ; Error
#endif
.
.
.
.
#if Stcheckdbg = 1
Stcheck
Print "openfile:ErrorSt:" ; Error
#endif
End Sub
A kiindulási a HW:800, SW:600, Frames:100 kiindulási jónak tűnik...
A legbelső Sub a lényeg, ott kell vizsgálni!
Ha az Error 0 feletti értéket vesz fel, akkor azt görgeti tovább!
A teszt Bascom 1.11.9.1Reg003-ban készült.