Hi-Tech begränsningar av arrays.

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Re: Hi-Tech begränsningar av arrays.

Inlägg av dangraf »

Nu blandar ni äpplen och päron.
jag frågar fortfarande inte efter vad som genererade kompileringsfelet vilket är toktydligt att någon del av minnet är fullt.

Det jag frågar efter är svaret på följande påstående:
Det märkliga är som följer, om jag deklarerar 4st variabel-arrays så funkar detta klockren, signalen kommer ut på benet som det ska. Men Inte med 5 eller fler. När jag kompilerar den med 6st variabler (3 sub-kanaler med av och på) så går det inte. Då kommer det bara en massa nollor på utgången.

Varje bank är 128 byte och bestämms av RP1 och RP0 flaggan. Menar ni att samtliga 6 arrayer skulle lägga sig "över" en bank så att det blir fel på dessa flaggor vilket gör att den bara sprutar ut 0or? Märkligt eftersom processorn enbart har 368byte i SRAM vilket är mindre än de 3/4 banker som processorn har.
Du verkar inte fatta detta med const kontra variabler, vad är problemet?
Problemet just nu tror jag att du är helt inställd på att bevisa att du har rätt istället för att förklara så att någon förstår vad du säger.
Jag har också i ett tidigt inlägg redovisat de rellevanta delarna av dokumentationen
där detta beskriv. RTFM !
Läs frågan innan du ger svaret. Men jag slår vad om att svaret står i M nånstans.. Har du lust att berätta var?

[edit] ändrade RB1 till RP1, stavfel
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hi-Tech begränsningar av arrays.

Inlägg av sodjan »

Jo, det är sant, det var en del där som lät lite underligt.

Ett studium av MAP filen (för att se *var* de olika arrayerna har
allokerats) och den genererade ASM koden från kompilatorn (för
att se *hur* de olika arrayerna accessas från koden) borde förklara
just det fenomenet. Ingen rocket-science direkt. Det går ju att göra
ett riktigt litet test-case med enbart arrayerna och någon enstaka
access av en member så det bör gå rellativt snabbt att analysera.

Och ja, jag såg att psect felet kom när du la till ytterligare arrayer
utöver de som gav fenomenet ovan.

Det var mer riktat till alla andra kommenterar i tråden kring detta,
inte direkt (eller i alla fall inte enbart) till just dina frågor... :-)

Slutligen, inget av detta har ju något med det igentliga "felet" med
koden att göra, d.v.s att använda hela bytes till 0/1 (on/off) variabler.
Användarvisningsbild
Zajber
Inlägg: 451
Blev medlem: 19 oktober 2009, 22:07:16
Skype: Andreas.fridh85
Ort: Rödön
Kontakt:

Re: Hi-Tech begränsningar av arrays.

Inlägg av Zajber »

Jag har frångått det hela med arrayer nu och kokar ihop bit-strängen i en egen funktion som sig bör.

Men som sagt tidigare så är det konstigt att den kompilerar utan varningar eller fel även fast array:en inte fick plats ändå. Då jag har frångått detta koncept så kan jag inte sätta mig och kolla igenom vart allt har hamnat och inte hamnat.

Enkelt sammanfattat: Är värden konstant deklarera dom som det, är dom inte det så skiter det sig.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Hi-Tech begränsningar av arrays.

Inlägg av sodjan »

> Då jag har frångått detta koncept så kan jag inte sätta mig och
> kolla igenom vart allt har hamnat och inte hamnat.

Det är självklart du *kan*. :-)
Skriv "vill inte", "ser inget behov" eller något liknande istället.

> Enkelt sammanfattat: Är värden konstant deklarera dom som det, är dom inte det så skiter det sig.

Det låter inte alls som en korrekt analys. Ditt problem i och för sig.
Men visst, om du aldrig kommer att utveckla något annat program i samma
verktyg så kanske det inte spelar så stor roll. I annat fall så vore det bättre
att du tog och kollade upp vad som igentligen hände.
Skriv svar