Documentation CC5X 16F877A - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 57 sur 57

Documentation CC5X 16F877A



  1. #31
    invitea613d208

    Re : Documentation CC5X 16F877A


    ------

    Une adresse, c'est un chiffre, sur 8 bit (ou plus) qui correspond a une case dans la mémoire qui fait 8 bit :
    EX :

    |00000000|00000000|00000000|00 000000|00000000|
    |00000000|00000000|00000000|00 000000|00000000|
    |00000000|00000000|00000000|11 111111|00000000|
    |00000000|00000000|00000000|00 000000|00000000|
    |00000000|00000000|00000000|00 000000|00000000|
    |00000000|00000000|00000000|00 000000|00000000|

    Voila en gros la tronche d'un morceau de mémoire. Si on considère que la mémoire debute a la première ligne, alors l'adresse du premier paquet est 0x00. L'adresse du paquet suivant est 0x01 .... et la où l'on trouve les 1 c'est a l'adresse 0x0D (14e case)

    Donc dans la memoire du PIC c'est pareil sauf que c pas les mêmes adresse !

    -----

  2. #32
    invite01336075

    Re : Documentation CC5X 16F877A

    Ah d'accord la j'ai compris
    Il me faut un peu de temps mais la c'est bon. D'accord. Donc je vais essayer de paramétrer tous mes ports.
    Je suppose que ya besoin de paramétrer que les ports qu'on utilise. Donc je vais essayer juste avec le B.

  3. #33
    invitea613d208

    Re : Documentation CC5X 16F877A

    Exactement !

    Deux choses :

    Parametrer l'adresse memoire où se trouve le Port (Voir DATASHEET plan memoire)
    Parametrer l'adresse memoire ou se trouvele TRIS (Doc aussi) N'hesite pas en cas de besoin je suis la tout l'aprem

  4. #34
    invite01336075

    Re : Documentation CC5X 16F877A

    Si j'ai crée un projet MPLAB pour un pic 16F877A j'ai quand même besoin de préciser tout ces adresses? Et je dois utiliser quelle commande? Parce que moi quand je compile il ne reconnait pas la syntaxe #byte
    J'utilise CC5X je sais pas si c'est du à ça.

  5. #35
    invitea613d208

    Re : Documentation CC5X 16F877A

    Oui tu dois le faire, c'est obligatoire.

    Je n'utilise pas ce compilateur la mais je pense que c pareil. Donne moi ton code voir

  6. #36
    invitea683cd67

    Re : Documentation CC5X 16F877A

    Comme si Zhal tu ne mangeait pas assez de code au boulot tu en redemande
    Gourmand va

  7. #37
    invite01336075

    Re : Documentation CC5X 16F877A

    Mon code :

    Code:
    #byte PORTB=0x06
    #byte TRISB=0x86
    
    
    void main(void)
    {
    	TRISB = 0b00000000;
    	PORTB.0= 1;
    }
    Et mon erreure :

    CC5X Version 3.4D, Copyright (c) B Knudsen Data, Norway 1992-2010
    --> FREE edition, 8-16 bit int, 24 bit float, 32k code, reduced optim.
    test.c:

    #byte PORTB=0x06
    ^------
    Error[1] C:\Documents and Settings\a459021\Desktop\test\ test.c 1 : Preprocessor error
    (The source line starting with '#' contains invalid syntax or context
    dependent syntax)

    Error options: -ew: no warning details -ed: no error details -eL: list details
    BUILD FAILED: Thu Jul 01 14:58:41 2010

  8. #38
    invitea613d208

    Re : Documentation CC5X 16F877A

    Je viens de terminer mon projet, la pour me faire mal je suis en train d'étudier du systeme temps reel sur Micro-controleur.

    je suis codo masochiste !!! Etant donné que je suis loin de ma femme ......


    faut bien s'occuper

  9. #39
    invite68e98c84

    Re : Documentation CC5X 16F877A

    A tu mis le #<include16f877> (un truc dans le genre) en début ??

    Zhal entretient des relations intimes avec des MicroContrôleur et autre composant électronique !! Insane

  10. #40
    invite01336075

    Re : Documentation CC5X 16F877A

    Non parce que si je le met sa me met ça :

    CC5X Version 3.4D, Copyright (c) B Knudsen Data, Norway 1992-2010
    --> FREE edition, 8-16 bit int, 24 bit float, 32k code, reduced optim.
    test.c:

    #if !defined ICD_DEBUG && !defined ICD2_DEBUG
    #pragma chip PIC16F877A, core 14, code 8192, ram 32 : 0x1FF
    ^------
    Error[1] C:\Program Files\bknd\CC5X\16F877A.H 3 : Duplicate chip definition
    (Multiple chip definitions detected (option -p<chip> and #include <header.h>).The #include statement should be removed)

    Error options: -ew: no warning details -ed: no error details -eL: list details
    BUILD FAILED: Thu Jul 01 15:16:27 2010

    Je pense que comme j'ai paramétré dans le logiciel que j'utilisais ce PIC il l'a reconnu tout seul et que le redéclarer entraine cette erreure.
    Enfin c'est ce que j'avais imaginé en tout cas..

  11. #41
    invitea683cd67

    Re : Documentation CC5X 16F877A

    Oula
    Cet erreur j'ai jamais eu la chance de l'avoir

  12. #42
    invite01336075

    Re : Documentation CC5X 16F877A



    Mais si je met pas cette ligne et que je définie pas les adresses j'arrive à obtenir des trucs mais c'est rarement ce que je veux..

    Par exemple j'arrive à allumer une DEL presque comme je veux..

    Mais bon j'ai l'impression qu'a force de faire n'importe quoi j'ai bousillé ma carte parce que parfois je lance deux fois le même programme et sa me lance deux trucs différents.. C'est possible qu'en la débranchant à chaque fois sa l'abime? (oui parce que je la débranche à chaque fois après avoir compilé parce que sinon le programme ne s'exécute pas)

  13. #43
    invitea683cd67

    Re : Documentation CC5X 16F877A

    Ba au dernière nouvel non

  14. #44
    invite01336075

    Re : Documentation CC5X 16F877A

    D'accord ^^ sa me rassure parce que c'est pas vraiment ma carte en plus.. alors si je l'ai bousillé sa va pas le faire ^^
    En tout cas merci pour tout j'ai quand même apris plein de trucs.
    Je comprends un peu mieux tout ce bazard.

  15. #45
    invitea613d208

    Re : Documentation CC5X 16F877A

    1 /****************************** ********/
    2 /* Programme de la carte de sécurité */
    3 /* INRIA Rhone-Alpes - service SED */
    4 /* COLOMBAN Romain Stage DUT 2004 */
    5 /****************************** ********/
    6 // définition du PIC
    7 #pragma chip PIC16F877
    8 #include "int16cxx.h"
    9 // définition des entrées-sorties
    10 #pragma char PORT_S @ PORTD
    11 #pragma char PORT_E @ PORTC
    12 #pragma char PORT_AU @ PORTB
    13
    14 #pragma bit AR_UR @ PORT_S.4
    15 #pragma bit voy_marche @PORT_S.5
    16 #pragma bit rearm @ PORT_E.0
    17
    18 char codage (void);
    19 char flags_AU,n,PORT_AU_Temp;
    Effectivement la syntaxe n'est pas la même remplace le nom avant l'arobase en haut et c bon tu n'a pas l'air d'avoir besoin de te soucier des adresses ...


    après dans ton main tu fait un truc genre portA.0 = 1

  16. #46
    invite01336075

    Re : Documentation CC5X 16F877A

    YAATAA !!
    C'est bon j'ai reussi à faire que quand j'appuyais sur le bouton sa s'allume! En fait je viens de remarque que c'était assez long ! Il faut que j'attende une deux secondes avant que sa marche !
    Mais la sa marche !

    Merci à tous je vous aime !
    Maintenant, direction l'écran LCD !

    PS : J'ai une DEL qui est morte dans la manip par contre.. paix a son âme.

  17. #47
    invitea613d208

    Re : Documentation CC5X 16F877A

    MDRRRRRRR eh bien sa c sauter du coq à l'âne !

    Bon courage car c'est une sacrée galere sa aussi.

    Comme on dit chez nous, ne met pas la charrue devant les boeufs !


  18. #48
    invite68e98c84

    Re : Documentation CC5X 16F877A

    Moi je suis un fous dans ma tête, j'arrive à allumé une led avec un retard de 2sec alors du coup, je vais faire joue joue avec un LCD !!
    Continue à t'amuser avec tes led fait des chenillards, des code qui t'aprenne sur les boucles, etc
    Après si ton truc dans la vie c'est le LCD, lance toi, cours a fond mais fait gaff au mur

    Bonne continuation

  19. #49
    invitea613d208

    Re : Documentation CC5X 16F877A

    TU dis sa parce que toi aussi tu t'es mangé des murs ? MDR

  20. #50
    invite68e98c84

    Re : Documentation CC5X 16F877A

    Oui, à grand coup de fourchette, mais j'ai un appareil digestif à toute épreuve, la différence est là !!

  21. #51
    invite01336075

    Re : Documentation CC5X 16F877A


    Je disais ça comme ça parce que j'étais content mais je vais d'abord m'amuser avec mes LED c'est sur.
    Si c'est pour galérer sur l'écran sa va finir par m'énerver ^^

  22. #52
    invite68e98c84

    Re : Documentation CC5X 16F877A

    Avant de passer à la pratique, mange de la théorie, c'est pas amusant mais se peut être pas mal !!

  23. #53
    invitea683cd67

    Re : Documentation CC5X 16F877A

    lol c'est toi Jack qui dit ca

  24. #54
    invite01336075

    Re : Documentation CC5X 16F877A

    Rebonjour tout le monde

    Je me remets à ma plaquette mais j'ai toujours des problèmes. Hier j'avais réussi à obtenir ce que je voulais mais c'était juste un coup de chance.
    Je sais que parfois le programme ne s'éxécute pas bien même si il a bien compilé. Et je suis sur que qu'est pas un erreure du programme.

    Par exemple si je demande d'allumer les 3 premières del de la carte avec l'instruction PORTB=0b00000111; sa fonctionne mais si après je mets PORTB=0b00001111;
    Il n'y a toujours que les 3 premières del allumées.

    Hier je pensais que c'était la Del qui était morte mais en fait j'ai réussi à l'allumer au cours de mes différentes tentatives. Il y a donc toujours quelque chose qui cloche quelque part.

    Est ce qu'au niveau des cavaliers il faut que je laisse que celui des del pour que sa fonctionne? (j'ai essayé toute les possibilité sa change rien mais je demande quand même au cas ou)
    Ensuite j'ai des fiches d'exo mais il y a des commandes qu'il me demandent de mettre que je ne comprends pas.

    #pragma CONFIG = 0x??
    OPTION = 0x??;
    GIE=?;

    Ou il faut remplacer les ?? par les bonnes valeurs.
    Je sais que sa a un rapport avec les registres mais c'est tout.

    Quand je compile j'ai vraiment l'impression que quelque chose marche pas bien parfois.. d'ou sa pourait venir? CC5X, la carte, l'ICD, un cable?

    Voici un exemple de programme que j'exécute :

    void main(void)
    {
    TRISB=0b00000000;
    TRISA=0b11111111;
    if(PORTA.4==1)
    {
    PORTB=0b00001100;
    }
    else
    {
    PORTB=0b00000011;
    }
    }

    C'est ce que j'avais hier soir ou j'étais tellement content. Mais maintenant.. moins. Parce qu'en fait avec ça sa m'allume RB2 mais pas RB3 puis quand j'appuis sur le bouton RA4 sa m'allume RB0 et RB1.
    donc je pensais que c'était bon parce que je pensais que la DEL RB3 marchait pas.. mais c'est pas le cas. Bref au final il y a toujours des trucs qui marche pas.

    Voilou..
    Si vous pouviez déjà me répondre à quelques une de ces questions ce serait pas mal.

  25. #55
    invite01336075

    Re : Documentation CC5X 16F877A

    Et je viens de voir un truc :

    Si je compile ça à la place du programme d'avant :

    Code:
    void main(void)
    {
    
    TRISB=0b00000000;
    TRISA=0b11111111;
    while(1)
    {
    if(PORTA.4==1)
    {
    PORTB=0b00001100;
    }
    else
    {
    PORTB=0b00000011;
    }
    }
    }
    Je n'ai pas besoin de rester appuyé 2 sec sur le bouton pour que les diodes s'allument ou s'éteignent. C'est instantané.
    Mais sa c'est peut être pas bizarre. Je sais pas?

  26. #56
    invite01336075

    Re : Documentation CC5X 16F877A

    Ah j'ai résolu un problème tout seul.
    J'arrive de nouveau à allumer la diode RB3 j'ai configuré les bits selon ce que j'ai trouvé sur un site grace aux options du logiciel

    Maintenant mon programme fonctionne parfaitement !
    Bon je vais tester d'autres trucs.

  27. #57
    invite01336075

    Re : Documentation CC5X 16F877A

    J'ai essayé de faire un chenillard (je crois que sa s'appelle comme ça)
    Mais j'arrivais pas à faire la fonction delay.

    J'ai trouvé cette fonction qui marche :


    Code:
    void delay(char m)					
    {
    OPTION = 0b01000000;	
    do {
    TMR0 = 0;
    while (TMR0 < 100) 
    ;
    } while (-- m > 0);
    }
    
    void main(void)
    {
    TRISB=0b00000000;
    while(1)
    {
    PORTB=0b00000000;
    delay(200);
    PORTB=0b00000001;
    delay(200);
    PORTB=0b00000010;
    delay(200);
    PORTB=0b00000100;
    delay(200);
    PORTB=0b00001000;
    delay(200);
    }
    }
    Moi j'avais essayé avec ça :

    Code:
    void delay(char m)
    {
    int t;
    while(t!=m)
    {
    t++;
    }
    }
    Mais soit sa marche pas soit j'arrive pas à regler la valeur de m comme il faut pour que je puisse voir.
    Est ce que vous pourriez m'expliquer comment fonctionne la premiere?

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. CC5X et librairie
    Par invite339f2ace dans le forum Électronique
    Réponses: 2
    Dernier message: 24/01/2010, 08h55
  2. cc5x...mplab...?
    Par invite3893ced9 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 01/06/2009, 03h25
  3. CAN et cc5x
    Par marc2009 dans le forum Électronique
    Réponses: 64
    Dernier message: 27/04/2009, 22h43
  4. CC5X et MPLAB
    Par invite177078b9 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/04/2009, 11h00
  5. MPLAB et CC5X
    Par invite127fde78 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 01/06/2007, 08h28
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...