Hejsan.
Håller på med ett program som skulle behöva en tvådimensionell array som är ungefär 10*40 chars stor. Problemet är ju dock att 10*40=400bytes och sram minnet är 128 bytes i avr:en. Går det att göra detta utan externt minne? Skulle det annars gå att göra 10st 1*40 arrayer som man alternerar mellan i sram när man använder dom? arrayen behöver inte vara global utan behöver endast ligga i main.
Måste alla 10x40 behållas och vara unika?
Eller kan du som jag tror du menar jobba med 1x40 först,
därefter återanvända din 1x40 array till nästa rad?
Om så är fallet så är det naturligtvis möjligt.
Men beskriv vad det är du skall göra, det låter som att det
måste gå att lösa på ett smidigare sätt...
Precis! Det beror helt på vad du vill göra och vad det är som skall lagras i arrayen. Är det statiska data så ligger det nog bättre i prommet än i RAM. Är det inte fulla byte så kan det gå att bitpacka. Berätta lite mer!
ok var lite luddig föklaring kanske. Jag vill använda Q-learning och för det behöver man en Q-tabell. Det fungerar sedan så att man ger ett system + poäng om det systemet gör är bra och minus om det systemet gör är dåligt. Jag vill alltså ha 10*40 chars som går att ändra på jämt dvs varje char ska kunna anta alla värden den kan vid alla tidstilfällen.
Vilka tecken ska varje position kunna anta? Det går ju alltid att packa ihop tecken för flera positioner i en byte.... är det bara + och - räcker ju 50 bytes t.ex.
ett alternativ är att spara arrayerna i t.ex flash eller eeprom och därefter kompiera över arrayen till ram-minnet så fort du behöver arbeta och ändra på den.
Det kommer gå långsammare att accessa dessa minnen jämfört med ram minnet, men det kanske inte är några problem?
Nu vet jag inget om Q-learning , men jag antar att varje char ska kunna anta ett värde mellan 0 och 100. Dvs 7 bitar. Men kanske behövs bit 8 som nån slags flagga under bearbetningen?
Senast redigerad av jesse 7 december 2008, 19:14:33, redigerad totalt 1 gång.