IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

[PIC] Questions diverses de programmation ( débutant )


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut [PIC] Questions diverses de programmation ( débutant )
    Bonjour,

    Je bloque sur 3 problèmes,

    Je cherche a capturer la date et l'heure et la stocker dans timebuffer pour ensuite l'afficher sur un afficheur LCD et sur une page web.

    Pour cela, j'ai déclaré timebuffer ainsi :

    ...

    Ensuite je cherche à mettre le temps dans timebuffer : ( je n'ai pas compris ce que 7 apporte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    asctime(&tm_time, &timebuffer, 7);
    Quand je compile, cette lignej'obtiens cela :

    Warning [2054] suspicious pointer conversion

    Pouvez vous m'indiquer d'ou vient l'erreur ?


    2ème problème :

    Je voudrai afficher la date et heure contenu dans timebuffer sur un afficheur LCD, là je butte car je sais afficher une phrase mais pas le contenu de timebuffer, pouvez vous me dire que qu'il faut écrire ?

    Ceci fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcpypgm2ram((char *)&LCDBuffer[0][0],(ROM char *)"Message Test");      // Affiche Message Test sur la ligne 0, position 0 du LCD

    3ème problème :

    J'ai du mal a utiliser httpgetvar,
    Mon but étant d'afficher la date & heure précédemment stockées dans timebuffer dans sur ma page web grace à un case :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    case VAR_EVENT_TIME:
           
                 
                    strcpypgm2ram(timebuffer, ?????? );   je ne sais pas ce qu'il faut écrire ici
            }
    
            *val = timebuffer[(BYTE)ref];
    
            if(timebuffer[(BYTE)ref] == '\0')
                return HTTP_END_OF_VAR;
            else if(timebiffer[(BYTE)++ref] == '\0' )
                return HTTP_END_OF_VAR;
            return ref;
    Je vous remercie de votre aide,


    Pourriez vous m'aider sur ces 3 problèmes svp ?
    Je vous remercie beaucoup

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Probleme 1, je suppose que asctime() veut un buffer, pas l'adresse d'un buffer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char timebuffer[30];
    asctime(&tm_time, timebuffer, 7);
    Par contre, je ne sait pas ce que tu utilises comme version de libC car c'est la 1ere fois que je vois asctime avec 3 parametres (et je n'ai aucune idée du rôle de 7 non plus).
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut
    Merci ram-0000, je n'ai plus de warning lorsque je compile.

    Je ne peux pas encore dire si le problème 1 est résolu car il est lié aux 2 autres ...

    Dans mon programme, j'ai déclaré 4 timebuffers différents longs de [32] et je n'ai plus de mémoire maintenant

    je ne sais pas comment faire pour que char timebuffer ne réserve que l'espace nécessaire pour stocker la date et l'heure sans 'gaspiller' d'espace.

    Comme mon but et de sauvegarder la date et heure de 4 événements différents ( ensuite les afficher sur un afficheur LCD et sur ma page web ) j'ai peur de ne pas avoir assez de mémoire dans mon Pic ...


    Auriez vous également une idée concernant mes 2 autres problèmes ?

    Pour le problème n°2, il faudrait que je réussisse à transférer le contenu de timebuffer dans LCDBuffer pour que l'information s'affiche sur le LCD, je ne sais pas faire .

    Pour le problème n°3, je pense que c'est le même principe avec httpgetvar


    Je vous remercie de votre aide,

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    asctime ne prend normalement qu'un seul paramètre.

    Il est étonnant qu'une fonction différente possède le même nom, puisque asctime est défini par la norme.

    Peut être utilises-tu des versions dérivées (asctime_r, asctime_s,...) ?

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut
    mon fichier time.c permet de spécifier un 3ème paramètre pour un affichage du temps selon plusieurs formatages .

    Pour mon pb n°2 : ( affichage du temps capturé vers le LCD )

    j'ai essayé cela, ( ça compile bien mais ça n'affiche rien ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    time = GetTimeTick();
    offtime(&tm_time, time, LOCAL_OFFSET_SECS);
     
    asctime(&tm_time, timebuffer, 2); // Capture le temps et le met dans timebuffer avec le formatage n°2
     
    //  Devrait afficher le contenu de timebuffer sur le LCD en ligne 3, position 0 :
    strcpypgm2ram((char *)&LCDBuffer[3][0],(timebuffer));
    Est ce que cette ligne est bien écrite ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcpypgm2ram((char *)&LCDBuffer[3][0],(timebuffer));
    Fichiers attachés Fichiers attachés
    • Type de fichier : c time.c (12,8 Ko, 79 affichages)

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par lcoulon Voir le message
    mon fichier time.c permet de spécifier un 3ème paramètre pour un affichage du temps selon plusieurs formatages .
    Tu as intérêt un mettre un gros commentaire pour les générations futures de développeurs qui se pencheront sur ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // The last argument specifies the desired output format for the string,
    // current supported formats are:
    //
    //    0  DDD MMM dd HH:MM:SS YYYY
    //    1  MMM dd HH:MM:SS
    //    2  HH:MM:SS
    //    3  mm/dd/yy
    //    4  HH:MM:SS mm/dd/yy
    //    5  mm/dd/yy HH:MM:SS
    //    6  HH:MM
    //    7  mm/dd/yy HH:MM
    //    8  HH:MM mm/dd/yy
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. [Débutant] Question diverses d'un débutant.
    Par Nikimizi dans le forum Visual Studio
    Réponses: 1
    Dernier message: 28/05/2013, 15h14
  2. [Débutant] Questions diverses
    Par thetataz dans le forum VB.NET
    Réponses: 0
    Dernier message: 16/09/2010, 14h22
  3. Petites questions diverses (débutant)
    Par elishac dans le forum Caml
    Réponses: 4
    Dernier message: 01/06/2009, 01h26
  4. Diverses questions mathématiques d'un débutant
    Par etranger dans le forum Mathématiques
    Réponses: 72
    Dernier message: 17/10/2007, 20h26
  5. [Débutant] Questions diverses
    Par Mathlus dans le forum Fortran
    Réponses: 4
    Dernier message: 11/12/2006, 17h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo