pic ram pomnilnik .....

A

aviv6371

Guest
zdravo,

im stavbe pic877 temelji na enoto in i morali zbirko 256 characaters.
ko sem vnesel izjavo:
nepotpisani char arr [256];

Dobil sem sporočilo o napaki: "besede za psect" rbss_0 "v segmentu" BANK0 "

ko sem spremenila array izjavo:

nepotpisani char arr [66]

je delal!

zdaj rabim 256 znakov.Slišala sem nekaj o izjavi o bank1 na začetku.niso prepričani.

lahko vsakdo, ki nekaj svetlobe v tej temi?

pomoč bi bilo cenjeno.

avi.
Last edited by aviv6371
19. julij 2006 0:22, edited 1 v času celotnega

 
Predvidevam, da ste uporabo Hi-Tech C?

V 16F877 ima štiri pomnilniške banke, tako izjavo bi izgledal takole:

bank1 nepotpisani char test [XX]
bank2 nepotpisani char test [XX]
bank3 nepotpisani char test [XX]

Če ne določite pomnilnik banka z bankX ključno besedo bank0 bo uesed.

Problem je, da je 16F877 nima memorybank kjer boste lahko uporabljali 256 bytes

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ali Very sad" border="0" />Večino pomnilnika bank 80 ali max 96 bytes velikosti.

Oglejte na obrazcu.

s spoštovanjem

 
hello C-Man in drugimi,

Hvala za hiter odgovor.
glede na to, če želim izbrisati 256 char array i can do it by:

bank1 nepotpisani char test [96];
bank2 nepotpisani char test [96];
bank3 nepotpisani char test [64];

for (i = 0; i <= 255; i )
test = '';

je to legalno??avi.

 
Problem je, da imam na proces 256 znakov, ki bi se kasneje shrani v EEPROM.i treba obravnavati v različnih bankah z različnimi znesek ram.

kako lahko naredim delo ??????

avi.

 
Tukaj je primer, kako sem se motim nadzorovanih RS232 pufer za 256 znakov uporabo 16F88

pišite pufra

Koda:# define BUFFER_GROESSE 64statični hlapnih obstojnih bajt Buffer1 [BUFFER_GROESSE];

bank1 statični hlapnih obstojnih bajt Buffer2 [BUFFER_GROESSE];

bank2 statični hlapnih obstojnih bajt Buffer3 [BUFFER_GROESSE];

bank3 statični hlapnih obstojnih bajt Buffer4 [BUFFER_GROESSE];statični bajt zeiger_schreiben = 0if (RCIF)

(

rx_datenbyte = RCREG;if (Ferr)

rx_datenbyte = RCREG;receive_timer = RECEIVE_TIMEOUT;if (! OERR)

(

if (! (zeiger_schreiben & 128))

(

if (! (zeiger_schreiben & 64))

Buffer1 [zeiger_schreiben & 0x3F] = rx_datenbyte;

še

Buffer2 [zeiger_schreiben & 0x3F] = rx_datenbyte;

)

še

(

if (! (zeiger_schreiben & 64))

Buffer3 [zeiger_schreiben & 0x3F] = rx_datenbyte;

še

Buffer4 [zeiger_schreiben & 0x3F] = rx_datenbyte;

)zeiger_schreiben ;

)

še

(

CREN = false;

CREN = TRUE;

)

)

 
Morda ni treba opredeliti niz
Mislim, da lahko uporaba posredno naslavljanje namesto z OKS in INDF registrov.
Saj bo samo treba posodobiti naslov, ki woill RAM točka za vašo lokacijo.

V tem primeru boste morali najti nek način za zaščito vaših izbranih področjih iz RAM v uporabi, ki jih je sestavljač če imate več spremenljivk, uporabljenih v KodeksuHvala

 
živjo,

C-Man - i tryed pa dobim sporočilo o napaki: "fixup preliva v izražanja (lokacija 0xC6C (0xC66 6), velikost 1, vrednost 0x1A2)"

mimogrede, zakaj so u razglasila array statične hlapnih obstojne in ne normalne nepotpisani char?

Haythan - yes theres drug način je ime kazalca in ga je mogoče storiti s c
.njegovo bolj učinkovito Methode i dont ker so za odpadke, dragi ram z dodelitvijo določen znesek matrika, s kazalci i razporediti podatke samo, kadar je to potrebno.
Problem je, da jaz dont znanje kako uganjati to!

kakšen predlog??avi.

 
aviv6371 wrote:

živjo,C-Man - i tryed pa dobim sporočilo o napaki: "fixup preliva v izražanja (lokacija 0xC6C (0xC66 6), velikost 1, vrednost 0x1A2)"mimogrede, zakaj so u razglasila array statične hlapnih obstojne in ne normalne nepotpisani char?

 
hi C-Man,

i so podale izjavo: (zbirajo picc svetloba)

bank3 statični nepotpisani char arr3;

i dont zaslužiti to sporočilo o napaki.

ampak ko im dodeljevanjem vrednosti z vrstico:

arr3 = 'e';

dobim sporočilo: "fixup preliva v izraz"

res zelo moteč problem .......<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ali Very sad" border="0" />
Mogoče prost različico mplab prikrajšanostiavi.

 

Welcome to EDABoard.com

Sponsor

Back
Top