Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

problème CC5X



  1. #1
    hollajo

    problème CC5X


    ------

    Bonjour à tous

    Voila mon petit problème, je ne comprend pas pourquoi je n'arrive pas à faire une déclaration de variable globale.
    Je souhaiterais déclarer un char n pour que celui-ci soit utilisable dans toutes mes fonctions et l'initialiser à 1 mais ça ne fonctionne pas

    voici ce que j'ai écrit

    char n;
    n = 1;

    et l'erreur est la suivante:

    char n;
    n = 1;

    ^------ Error[1] D:\Datas\Fabien Petit\Programme\Nouveau dossier\main.c 19 : Syntax error (or limitation) (CC5X is unable to compile the expression due to syntax error or limited C support. Code correction is required. Check also for unbalanced block delimiters '{ .. }' in previous statements)

    c'est la première fois que j'utilise CC5X peut être que j'ai oublié quelque chose.

    merci d'avance pour l'aide

    -----

  2. Publicité
  3. #2
    DAUDET78

    Re : problème CC5X

    Je n'y connais rien mais :
    Code:
    char n;
    n = "1"; ou n = '1' ????
    c'est pas mieux?
    n = 1, tu tentes de charger une valeur numérique dans une variable caractère
    J'aime pas le Grec

  4. #3
    freepicbasic

    Re : problème CC5X

    char n;
    peut être en haut pour être global

    Mais
    n = 1;
    doit être dans le main

    char n;

    main()
    {
    n = 1;
    }



    Cette écriture est sans doute acceptée en haut;
    char n = 1;
    A+, pat

  5. #4
    hollajo

    Thumbs up Re : problème CC5X

    merci beaucoup ça fonctionne

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    sdec25

    Re : problème CC5X

    Bonjour.
    En C une variable locale doit être déclarée après une accolade, avant toute autre instruction (sauf déclaration de variable).

    Code:
    void main(void) {
      char n;
      n = 1;
      {
        char x;
        x=1;
      }
    }

  9. #6
    sdec25

    Re : problème CC5X

    J'avais mal lu, c'est bien en global qu'il faut la déclarer.

  10. Publicité
  11. #7
    hollajo

    Re : problème CC5X

    oui c'est bien en globale qu'il faut la déclarer et la difficulté est que le compilateur CC5X ne voulait pas la reconnaitre, maintenant ça à l'air de fonctionner mais je suis obligé de l'initialisé dans toute les fonctions ce qui ne m'arrange pas.

  12. #8
    sdec25

    Re : problème CC5X

    Citation Envoyé par hollajo Voir le message
    je suis obligé de l'initialisé dans toute les fonctions ce qui ne m'arrange pas.
    Une globale a besoin d'être initialisées une seule fois.
    Soit au début du main, soit dans la déclaration :
    char n = 1;

  13. #9
    hollajo

    Re : problème CC5X

    oui merci, ça marche bien maintenant par contre je n'ai pas fait comme vous car le build me mettait des erreurs j'ai donc procédé de la manière suivante :

    char n;

    déclaration de mes fonctions;

    void main (void)
    {
    n=1;
    init();
    ....
    ....
    ....
    }

    Par contre j'ai un autre problème j'aimerais utiliser un entier sur 32bit avec mon micro qui est un 16f630 est-ce possible ou pas ? car la fonction int32 ne fonctionne pas pourtant il me marque que la déclaration est correcte.

  14. #10
    hollajo

    Re : problème CC5X

    en gros je voudrais faire une tempo de 16 sec voici ma fonction

    void tempo_16 (void)
    {
    int32 t;
    t = 0;
    do
    {
    nop();
    t++;
    }
    while (t<16000000);
    }

    je voulais utiliser int32 car dans la doc de CC5X il est écrit
    int 32 va de -2147483648 à 2147483647

    voila je procède comme ça, car je ne comprend rien du tout au timer :s

  15. #11
    sdec25

    Re : problème CC5X

    Essaie avec unsigned long ou long (unsigned long va de 0 à 4294967295).
    Sinon tu peux aussi essayer short long (sur 24bits) mais je ne sais pas si CC5X gère ce type.

  16. #12
    hollajo

    Re : problème CC5X

    je ne peu malheureusement aller jusqu'à 64 000 et des poussières avec le unsigned long,
    j'ai pas précisé mais j'utilise la free edition de CC5X, je pense il faut que je cherche une bibliothèque spéciale quelque parts, si quelqu'un a une idée, je suis preneur.

    CC5X me conseille de stocker mon résultat quelque part et de tout additionner pour arriver à mon résultat et la je comprend:s

    je cherche quand même des exemples sur le forum pour une tempo efficace.

  17. Publicité
  18. #13
    freepicbasic

    Re : problème CC5X

    si "int16" est accepté

    Code:
    void tempo_16 (void)
    {
    int16 t;
    int16 t1;
    
    t1 = 0;
    
      while (t1<1600)
    	{
    	t = 0;
    	t1++;
    	while (t<10000)	t++;
    	}
    }
    A+, pat

  19. #14
    sdec25

    Re : problème CC5X

    Citation Envoyé par hollajo Voir le message
    je ne peu malheureusement aller jusqu'à 64 000 et des poussières avec le unsigned long,
    j'ai pas précisé mais j'utilise la free edition de CC5X, je pense il faut que je cherche une bibliothèque spéciale quelque parts, si quelqu'un a une idée, je suis preneur.
    Effectivement je viens de lire la doc et long est sur 16 bits.
    Dans la doc les types d'entiers 32 bits sont uns32 et int32.
    Tu as dit que ça ne marchait pas, quelle est l'erreur ?

    Dans la doc il y a aussi ça :
    The bitfield syntax can also be used:
    unsigned x : 24; // 24 bit unsigned
    int y : 16; // 16 bit signed
    Tu peux essayer de déclarer un entier sur 24 bits.

  20. #15
    hollajo

    Re : problème CC5X

    Je pense que c'est limité car c'est la vresion free, j'ai enfin réussi à faire ma tempo grace à la doc et la fonction delay expliqué à la fin(page104 environ), merci à tous pour votre aide.
    normalement la version de freepicbasic tourne niquel aussi .
    Encore merci.

Discussions similaires

  1. CAN et cc5x
    Par marc2009 dans le forum Électronique
    Réponses: 64
    Dernier message: 27/04/2009, 21h43
  2. probleme programme C(cc5x) sur 16f84A
    Par Tix dans le forum Électronique
    Réponses: 9
    Dernier message: 13/06/2008, 05h56
  3. [MPLAB et CC5X] Problème lors de la compilation
    Par Mazman dans le forum Électronique
    Réponses: 6
    Dernier message: 07/04/2008, 10h31
  4. MPLAB et CC5X
    Par Michael37 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 01/06/2007, 07h28
  5. Problème Mplab +CC5X
    Par wave68runner dans le forum Électronique
    Réponses: 0
    Dernier message: 31/01/2007, 19h10
Découvrez nos comparatifs produits sur l'informatique et les technologies.