Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Editeur de code de PROTEUS, curieux comportement
gwion
Passioné
Passioné
Messages : 203
Enregistré en : février 2022

#1 Message par gwion » mar. 6 déc. 2022 15:02

Bonjour,
Je suis grand débutant, désolé si ma question n'est pas vraiment bien placée.

Je tente de faire une simulation dans PROTEUS 8. Le programme est donc en C et destiné au compilateur XC8.
Tout n'allait pas si mal jusqu'à ce que je tente de me frotter aux interruptions et que je ne constate un comportement bizarre de l'éditeur de code quand j'écris les structures INTCONbits. Le "." disparait alors que si je fais un c/c du code dans le bloc-notes il est bien présent... Il y a quelque chose de particulier à faire pour avoir un fonctionnement normal svp ? (à noter que dans l'éditeur de MPLAB il n'y a pas de problème).

Merci !

Capture d’écran 2022-12-06 145741.png
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Editeur de code de PROTEUS, curieux comportement
francois77
Passioné
Passioné
Messages : 307
Enregistré en : avril 2022

#2 Message par francois77 » mar. 6 déc. 2022 16:33

Bonjour,

Je ne suis pas un spécialiste du C.

Le plus simple c'est de lancer Proteus directement depuis MPLAB

Cdt,

Francois

Editeur de code de PROTEUS, curieux comportement
gwion
Passioné
Passioné
Messages : 203
Enregistré en : février 2022

#3 Message par gwion » mar. 6 déc. 2022 17:12

Salut François,

Je sais que tu n'es pas spécialiste du C, c'est pour ça que je ne t'ai pas posé directement la question :)

Bruno

Editeur de code de PROTEUS, curieux comportement
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#4 Message par satinas » mar. 6 déc. 2022 18:59

Bonsoir à vous deux
Je viens de faire un essai de projet Proteus, ayant eu la surprise de voir que le logiciel était installé sur mon PC en version démo.
Menu Nouveau projet, Design template DEFAULT, no PCB, Create firmware, PIC16F84A, MPLAB XC8 2.36.
Après ajout des 2 lignes ci-dessous, il se compile bien.

Code : Tout sélectionner

/* Main.c file generated by New Project wizard
 *
 * Created:   mar. déc. 6 2022
 * Processor: PIC16F84A
 * Compiler:  MPLAB XC8
 */

#include <xc.h>

void main(void)
 {
   // Write your code here
   TRISB = 0;
   INTCONbits.T0IF = 0;
   while (1)
      ;
 }

La copie des 2 lignes vers ou depuis le bloc-notes marche bien.
XC8 est-il bien déclaré dans le menu System/Compilers Configuration ?

Editeur de code de PROTEUS, curieux comportement
gwion
Passioné
Passioné
Messages : 203
Enregistré en : février 2022

#5 Message par gwion » mar. 6 déc. 2022 19:41

Bonsoir,
Merci pour les tests.
Oui XC8 est bien déclaré et la compilation fonctionne.
Je viens de créer un nouveau projet après le redémarrage de Proteus : même problème sur le nom de structure INTCON, il y a un cafouillage au niveau du point dans l'éditeur.

Editeur de code de PROTEUS, curieux comportement
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#6 Message par satinas » mar. 6 déc. 2022 20:13

Il semble que ce soit la structure qui passe pas :(
Le compilateur utilise le fichier include contenant sa définition.
C:\Program Files\Microchip\xc8\v2.36\pic\include\proc\pic16f84a.h

Code : Tout sélectionner

// bitfield definitions
typedef union {
    struct {
        unsigned RBIF                   :1;
        unsigned INTF                   :1;
        unsigned T0IF                   :1;
        unsigned RBIE                   :1;
        unsigned INTE                   :1;
        unsigned T0IE                   :1;
        unsigned EEIE                   :1;
        unsigned GIE                    :1;
    };
    struct {
        unsigned                        :2;
        unsigned TMR0IF                 :1;
        unsigned                        :2;
        unsigned TMR0IE                 :1;
    };
} INTCONbits_t;
extern volatile INTCONbits_t INTCONbits __at(0x00B);

Editeur de code de PROTEUS, curieux comportement
gwion
Passioné
Passioné
Messages : 203
Enregistré en : février 2022

#7 Message par gwion » mar. 6 déc. 2022 21:30

Comme le code passe en compilation et que la simulation fonctionne, je pense que c'est un problème d'éditeur. Ceci dit je m'en sors par des c/c avec le bloc-notes, ça dépanne mais ce n'est pas très pratique :)
Je viens d'envoyer une archive de mon projet pour le tester sur un autre PC. Suite demain...

Editeur de code de PROTEUS, curieux comportement
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#8 Message par Jérémy » mer. 7 déc. 2022 09:21

Bonjour ici,

N'y a -*t-il pas eu de raccourci de renter ? Sur certains logiciels on peut remplacer des mots pas d'autres en les tapant.

Bon courage !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Editeur de code de PROTEUS, curieux comportement
gwion
Passioné
Passioné
Messages : 203
Enregistré en : février 2022

#9 Message par gwion » mer. 7 déc. 2022 10:52

Bonjour,
L'installation de Proteus est neuve, il n'y a pas eu de bricolage fait où que ce soit dans la configuration, à part la déclaration du compilateur XC8.
Et le problème est systématique sur tous les noms de structures.
On dirait bien qu'il y a un rapport avec une histoire de complétion automatique qui fonctionne mal, mais je ne sais pas si ça existe dans l'éditeur de Proteus.
Quoi qu'il en soit, sur les conseils avisés de @Francois77, je vais désormais gérer le code source dans MPLAB IDE, avec Proteus déclaré comme Plug-in.


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 44 invités