hey mec,

N

NTFS

Guest
Salut

Quel est le sens de la Banque dans le microcontrôleur PIC.
pourquoi nous devrions l'utiliser?et quand.
Je tiens vraiment à savoir pourquoi nous devrions faire pour nous-même des maux de tête et de traiter avec les banques?
Je pense que, l'Easy PIC'n livre est une bonne méthode de travail qui ne tiennent pas compte de banque.

Alors, quand et dans quel PIC micro, nous devons travailler avec les banques?

Yat-il un risque lorsque je ignorer les utiliser?

S'il vous plaît, aidez-moi et me faire sortir de cette situation.

<img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Question" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Exclamation" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Question" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Exclamation" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_question.gif" alt="Question" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_exclaim.gif" alt="Exclamation" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_idea.gif" alt="Idea" border="0" />Merci d'avance.

NTFS

 
Salut NTFS,

Premier,
Est-vous la programmation en assembleur PIC (natif leanguage pour PIC)?
Si la réponse est NON, alors ne vous inquiétez pas, votre compilateur est de résoudre pour vous.

Toutes les banques ont des microcontrôleurs PIC de RAM et ROM de Pages / FLASH.Si vous est la programmation en assembleur, il doit avoir en compte.

Exemple,
À Bank0, à l'adresse 0x0A0 est VAR_A et
VAR_A = 0x15

À Bank_2, à l'adresse 0x1A0 est VAR_C et
VAR_C = 0x01

au programme ....
movlw 0x01
addwf VAR_C, 1

puis VAR_A = 0x16 et 0x01 = VAR_C
Pourquoi?
Vous devez changer pour Bank_2 avant.

Bonne chance

OFAS

 
C'est l'un des pires aspects de la PIC architecture.Il est la source de nombreuses erreurs de programmation.

Dans le PIC architecture,
de la mémoire (ou enregistrer le fichier) les adresses sont le nombre de 8 bits.Ce registre espace fichier est partagé entre les généraux de la mémoire et de fonction spéciale registres.L'adresse de 8 bits de l'architecture des moyens est limité à 256 octets.

Pour obtenir, au-delà, le pic utilise bancaire.Le registre d'état de 2 bits (RP0 et RP1) qui sont utilisés pour sélectionner une banque.Ainsi, le PIC peut traiter un total de 4 * 256 registres.

Regardez la mémoire de tous les PIC fiche intitulée: prupose enregistrer le fichier général.Il vous indique le nombre de banques qui a notamment PIC.chaque PIC est différente.

Si vous écrivez en langage d'assemblage, vous aurez besoin pour faire en sorte que la banque correct est sélectionné.Vous pouvez le faire par la création ou l'enlèvement de RP0 et RP1 appropriée.Cependant, vous pouvez également utiliser BANKSEL <register name>.Cela est préférable car vous
n'avez pas à réellement savoir ce
qu'il est dans la banque et si vous écrivez du code pour plus d'un modèle de PIC, vous
n'avez pas à vous inquiéter si ils se sont déplacés vers une autre banque.

Quant à C, vous pouvez sans doute
s'en sortir avec la compréhension de la banque mais il ya un certain nombre de cas où il
n'est question.Le premier est que si vous disposez de plusieurs modules qui vous relie ensemble.

Je suis prêt à parier un pourcentage important de programmes PIC participe à la création ou le défrichement de la RP bits.

 
Une banque est une partie de la RAM, dont le contenu est adressable de 8 bits.

Pour comprendre comment cela est arrivé, réfléchir sur le fait que le PIC a syngle instructions verbales et de l'instruction mot est de 12, 14, 16 bits ...
Depuis l'instruction reprend quelques-unes de ces bits (5-6 bits) alors il
n'y a pas beaucoup d'espace dans l'instruction de texte pour tenir compte des adresses de mémoire vive plus importante.

Par conséquent, la RAM est organisée en "banques" de 256 octets.Au sein de la banque, les différents octets sont sélectionnés par l'adresse contenue dans l'instruction.
La sélection des banques est accompli par un certain nombre de bits de sélectionner la banque (dans le Statut reg, le nombre varie en fonction de la quantité de RAM et donc le nombre de banques).

 
Fondamentalement BANK permet de plonger dans la mémoire, physiquement ..En PIC MCU il ya 4 banques, lorsque vous essayez d'accéder à la mémoire et en particulier celle qui devrait KNW trouve sa banque et il vous demande de définir ou de préciser RP0 et RP1 peu différent pour sélectionner les banques ...que SFR (SPECIAL FUNCTION REGISTER) se retrouvent dans toutes les banques et il ya peu d'autres registre au fond, qui sont utilisés afin de vous freqeuntly
n'avons pas besoin de changer les bits RP0 et RP1C'est un concept très simple, il suffit de lire la page de mémoire de tout pic MCU fiches et vous serez bien ...les banques sont de conception dans l'architecture RISC et ne peut mulitiple accès en même temps ..expert peut me corriger si je me trompe ...bonne chance

 
non, ne sont pas fréquemment SFRS retrouve dans toutes les banques.certains sont certains ne le sont pas.Parfois, la banque 0 et 2 sont mises en miroir et la banque 1 et 3, mais ce
n'est que quelques-uns.Par exemple, les miroirs ne 16F877 PCL, STATUS, INTCON, PCLATH FSR et dans les 4 banques.Un couple se retrouvent dans une autre banque et le reste (> 50) sont dans une seule banque.

Fiddling avec RP0 et RP1 est un cauchemar, surtout pour les débutants.La piste d'une erreur parce que vous êtes dans la mauvaise banque est délicate.La solution est de toujours banksel mais qui conduit à code ballonnement.Je préfère un bon compilateur C, car il va faire la bonne chose et nous espérons réduire RPx violon.

Comp_freak Désolé, mais la banque
n'a rien à voir avec RISC.Il a tout à voir avec plus de mémoire en pressant un petit architecture.Et un son tout simplement goofy façon de le faire.Voyez comment il est beaucoup plus facile à écrire pour l'AVR ligne.

 
ohh ok ..et vous avez également autorisé certains de mes trucs ..mais quand je apprentissage SDRAM système de cache ..nous avons créé la banque d'augmenter le taux de cache du système ..mais ici rien à voir avec cela ..oh ok ..donc pas tous les SFR sont copie miroir ...yeah thats pourquoi
j'ai demandé à des experts pour fixer mon erreur: D

 

Welcome to EDABoard.com

Sponsor

Back
Top