Hei kaveri, pyydän teitä vastaamaan minulle.

N

NTFS

Guest
Hei

Mitä tarkoittaa Bank PIC-mikro.
miksi meidän pitäisi käyttää sitä?ja milloin.
Haluaisin todella tietää, miksi meidän pitäisi tehdä päänsärkyä ourself ja käsittelee pankkien?
Uskon, Easy PIC'n kirja menetelmä on hyvä, että sivuuttaa työskentelee pankissa.

Niin milloin ja millä PIC mikro, meidän on työskenneltävä pankkien kanssa?

Onko olemassa riski, kun sivuuttaa käyttää niitä?

Ole hyvä ja auta minua ja saattaa minut ulos tästä tilanteesta.

<img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Kysymys" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Huutomerkki" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Kysymys" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Huutomerkki" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Kysymys" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Huutomerkki" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Idea" border="0" />Thanks in advance.

NTFS

 
Hi NTFS

Ensimmäinen,
Onko sinulla ohjelmointi PIC vuonna kokoonpanijalle (äidinkieli leanguage PIC)?
Jos vastaus on ei, niin ei hätää, Sinun kääntäjä on ratkaista se.

Kaikki PIC mikro on Pankit RAM-muistia ja sivujen ROM / FLASH.Jos sinulla on ohjelmasuunnittelun kokoonpanijalle on se huomioon.

Esimerkki,
Klo Bank0 ja osoite 0x0A0 on VAR_A ja
VAR_A = 0x15

Klo Bank_2 ja osoite 0x1A0 on VAR_C ja
VAR_C = 0x01

milloin ohjelma ....
movlw 0x01
addwf VAR_C, 1

sitten VAR_A = 0x16 ja VAR_C = 0x01
Miksi?
Sinun täytyy vaihtaa Bank_2 ennen.

Onnea

FSio

 
Tämä on yksi pahimmista näkökohdat PIC arkkitehtuuri.On lähde monien ohjelmointi virheitä.

Kun PIC arkkitehtuuri, muisti (tai rekisteri-tiedosto)-osoitteet ovat 8 bit numerot.Tämä rekisteri tiedosto tila on jaettu yleiseen tarkoitukseen muistia ja erityinen tehtävä rekistereihin.8-bittinen osoite tarkoitetaan arkkitehtuuri on rajoitettu 256 tavua.

Saat sen jälkeen se, että pic käyttää pankki.Asemaa rekisteri on 2 bittiä (RP0 ja rp1),
joita käytetään valitsemalla tietyn pankki.Näin ollen PIC voidaan käsitellä yhteensä 4 * 256 rekistereistä.

Katso muistin osa kaikista PIC tekninen oikeus: yleistä prupose rekisteri tiedosto.Se osoittaa, miten monet pankit että erityisesti PIC on.kunkin PIC on erilainen.

Jos kirjoitat kokoonpanossa kieli, sinun täytyy varmistaa, että oikea pankki on valittu.Voit tehdä tämän asettamalla tai selvitys RP0 ja rp1 asianmukaisesti.Voit kuitenkin käyttää myös BANKSEL <register nimi>.Tämä on parempi, koska sinun ei tarvitse itse tietää, mitä pankki on ja jos kirjoitat koodin enemmän kuin yksi malli PIC, sinulla ei ole hätää, jos ne siirretään se toiseen pankkiin.

Kuten C,
löydät todennäköisesti tulla toimeen ilman ymmärrystä pankki, mutta on olemassa useita tapauksia, joissa se tekee asiasta.Kaikkea on, jos sinulla on useita moduuleja sinua yhdistää.

Haluaisin bet merkittävä prosenttiosuus PIC ohjelmista on mukana asettamista tai tyhjentämällä HE bittiä.

 
Pankki on osa RAM, joiden sisältö on addressable käyttäen 8 bittiä.

Ymmärtää, miten tämä syntyi, ajatella, että PIC on syngle-sanan ohjeita ja ohjekirjan sana on 12, 14, 16 bittiä ...
Koska todellinen opetus vie muutaman näistä bittiä (5-6 bittiä) jälkeen ei ole paljon tilaa jäljellä ohje sanan majoittaa suurempi RAM-osoitteita.

Näin ollen RAM on järjestetty "pankit" on 256 tavua.Kun pankki, yksittäisiä tavuja valittu osoite sisältyvä ohje.
Valinta pankit tapahtuu siten, että useat pankin valitse bittiä (kun Tila reg, määrä vaihtelee riippuen määrä RAM-muistia ja siten myös pankkien määrä).

 
Pohjimmiltaan PANKKIKOROT käytetään dived muistin physicall ..PIC mcu on 4 pankit, kun yrität käyttää erityisen muisti u olisi knw että mikä pankki se sijaitsee ja se edellyttää, voit asettaa tai poistaa RP0 ja rp1 bittinen valita differnt pankit ...vain SFR (ERITYISET FUNCTION REKISTERÖIDY) ovat heijastuu kaikki pankit ja on muutaman muun rekisteri alareunassa, jotka ovat freqeuntly käyttää joten dont tarvetta muuttaa RP0 tai rp1 bittiäSe on hyvin yksinkertainen käsite juuri lukenut muisti sivulla kaikista pic MCU lomakkeissa ja tulette hieno ...pankit ovat muotoilutoimistot niin RISC u voi tehdä mulitiple pääsy samaan aikaan ..Asiantuntija voi korjata, jos olen väärässä ...onnea

 
no, SFRs eivät usein heijastuu kaikissa pankeissa.osa on osa ei.Joskus pankki 0 ja 2 ovat heijastuneet ja pankkisaamiset 1 ja 3, mutta se on vain muutama.Esimerkiksi 16F877 vain peilit PCL, Tila, INTCON, PCLATH ja BR kaikissa 4 pankit.Pari on peilattu yhdessä muiden pankkien ja loput (> 50) ovat vain yksi pankki.

Puuhailemme kanssa RP0 ja rp1 on painajainen, etenkin newbies.Jäljittää virheen, koska olet väärässä pankissa on mutkikkaampi.Ratkaisuna on allways banksel mutta joka johtaa koodin pullistua.Haluaisin mieluummin hyvän C-koska se tekee oikein ja toivottavasti pieni RPx rukkaamalla.

Anteeksi comp_freak, mutta pankki ei ole mitään tekemistä RISC.Siinä on kaikki tekemistä pusertamalla enemmän muistia Osakeyhtiön arkkitehtuuri.Ja sen oikeudenmukainen plain goofy tapa tehdä se.Katso, miten paljon helpompaa on kirjoittaa AVR linja.

 
Ohh ok ..hyvin myös poistettu joitakin minun juttuja ..mutta kun olin learing SDRAM välimuisti järjestelmä ..loimme pankki lisätä osuma oli välimuisti järjestelmä ..mutta tässä ei ole mitään tekemistä sen kanssa, että ..oh ok ..niin kaikki eivät SFR on peilattu kopio ...joo thats miksi kysyin asiantuntija korjata virhe: D

 

Welcome to EDABoard.com

Sponsor

Back
Top