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 :

Communication Pic/UART <=> modem


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut Communication Pic/UART <=> modem
    bonjour tout le monde,

    voila j'aimerais commander un moden 56K Olitec V90 via la liaison RS232 d'un pic 18F, donc utilisation de l'uart.

    j'ai fait qq recherche et je programme donc une fonction qui accède au modem :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #ifndef __APELLE_H
    #define __APELLE_H
     
     
     
    #include "TCPIP Stack/UART.h"
    #include "TCPIP Stack/TCPIP.h"
    #include "usart.h"
    #include "stdlib.h"
    //#include "p18f97j60.h"
     
     
     
    #include <usart.h>
    #include <stdio.h>
     
     
     
     
    void APELLE (void)
     
    {	
    static TICK t = 0;
    OpenUSART ( USART_TX_INT_OFF &
                	USART_RX_INT_OFF &
                	USART_ASYNCH_MODE &
                	USART_EIGHT_BIT &
                	USART_CONT_RX &
                	USART_BRGH_HIGH,
                	64 );
     
    if(TickGet() - t >= TICK_SECOND/2)
            {
    	        //t = TickGet();
                LED5_IO ^= 1;
    	        }
     
     
     
       putrsUSART("AT\r");
     
       CloseUSART();
    }
    mais on me retourne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MPLINK 4.12, Linker
    Copyright (c) 2007 Microchip Technology Inc.
    Error - could not find definition of symbol 'OpenUSART' in file 'C:\PPP\MainDemo.o'.
    Errors    : 1
     
    Link step failed.
    BUILD FAILED: Thu Aug 30 12:39:06 2007
    alors que OpenUSART est bien la dans usart.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void OpenUSART (PARAM_SCLASS unsigned char config, PARAM_SCLASS unsigned spbrg);
    merci pour votre aide ;-)

  2. #2
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Apparemment, la compilation s'est bien passée. Ce qui coince, c'est l'édition des liens. Avez-vous bien passé au linker les librairies nécessaires et notamment celle contenant OpenUSART()?

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par tiya17 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MPLINK 4.12, Linker
    Copyright (c) 2007 Microchip Technology Inc.
    Error - could not find definition of symbol 'OpenUSART' in file 'C:\PPP\MainDemo.o'.
    Errors    : 1
     
    Link step failed.
    BUILD FAILED: Thu Aug 30 12:39:06 2007
    alors que OpenUSART est bien la dans usart.h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void OpenUSART (PARAM_SCLASS unsigned char config, PARAM_SCLASS unsigned spbrg);
    Erreur classique de compréhension. Ce qu'il y a dans un .h, c'est la déclaration de la fonction (son protoype). Ce n'est qu'un interface. L'implémentation se trouve dans un fichier séparé appelé bibliothèque qu'il faut ajouter (lier) au projet.

    http://emmanuel-delahaye.developpez....htm#production

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut
    impossible de la trouver cette fonction !!!!!!! arrggggg lol

    je cherche !!

    par contre j'ai une question, quel est la différence entre un include et un linker?

  5. #5
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par tiya17 Voir le message
    impossible de la trouver cette fonction !!!!!!! arrggggg lol

    je cherche !!
    Où cherchez-vous? Ce qu'il vous faut savoir, c'est quelle est la librairie à lier avec le projet lorsque l'on utilise OpenUSART().

  6. #6
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par tiya17 Voir le message
    par contre j'ai une question, quel est la différence entre un include et un linker?
    hmmm
    Je pense que la question est plutôt: quelle est la différence entre un fichier d'en-tête (ou fichier d'include, càd les fichiers .h) et un fichier objet (.obj) ou une bibliothèque (library : .lib)?

    Le fichier d'en-tête est utilisé lors de la compilation et contient entre autres choses les prototypes des fonctions.

    Les fichiers objets sont produits par le compilateur à partir des sources (.c et .h). Ils contiennent le code objet et le linker (ou éditeur de liens) les assemble pour créer un fichier exécutable (.exe) par exemple.

    C'est une vision simple et vous trouverez facilement des explications plus précises sur le net.

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par tiya17 Voir le message
    impossible de la trouver cette fonction !!!!!!! arrggggg lol

    je cherche !!
    C'est dans la doc de la fonction qu'il faut chercher. Le nom de la bibliothèque devrait être indiqué.

    par contre j'ai une question, quel est la différence entre un include et un linker?
    linker ? Tu veux dire bibliothèque. Je t'ai passé un lien. Tu l'as lu ? Tu l'as compris ? Tu as des questions dessus ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut
    oupss pardon je n'est pas lu ton lien , il est vrais que je suis pas mal absorber par mon programme dsl je v y aller de suite.

    mais g trouver mon pb.

    En fait pas mal de chose sont deja initialiser ds la stack (j'aime pas car je ne c'est pas trop ce qui est fait, meme débutant je prefere partir de 0)

    donc c'est bon, ma seul erreur était

    WriteUSART("A"); au lieu de WriteUSART('A');


    autre erreur, mon programme ou j'aivais fais ma fonction qui permet d'ecrire sur le port rs232 était un .h au lieu d'un .c....

    je vais continué... et lire le lien

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 125
    Par défaut
    bonsoir tt le monde,


    j'ai toujours un pitit pb.

    j'essai de faire numéroter un modem relier par le port RS232 d'un PIC 18F.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     putrsUART("ATDT067197...\n");
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    putrsUART("A");
             DelayMs(100);
          putrsUART("T");
             DelayMs(100);
          putrsUART("D");
             DelayMs(100);
          putrsUART("T");
             DelayMs(100);
          putrsUSART("0");
             DelayMs(100);
          putrsUART("6");
            ....
          putrsUART("0");
             DelayMs(100);
          putrsUART("5");
             DelayMs(100);
          putrsUART("1");
             DelayMs(100);
          putrsUART("\r\n");

    le pb ce que sa numerote pas...

    je me branche alors sur l'hyperterminal windows, et la j'ai bien : ATDTnuméro de tel avec le caractere \CR

    mais rien en ce qui concerne le modem....sniff

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Communication entre un PIC PB-3B de Comfile et un modem GenPlug 16e
    Par mglm88 dans le forum Autres architectures
    Réponses: 0
    Dernier message: 31/12/2013, 10h28
  2. Problème de communication PIC-PC via RS232
    Par jiji94 dans le forum C++
    Réponses: 0
    Dernier message: 04/04/2008, 19h26
  3. communication des données via modem+rtc en VB6
    Par kadirov dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/07/2006, 11h56
  4. [LG] Communication via modem
    Par tomsteak dans le forum Langage
    Réponses: 1
    Dernier message: 27/01/2006, 12h22
  5. Communication RS232 avec un PIC via delphi
    Par JeanPh dans le forum API, COM et SDKs
    Réponses: 22
    Dernier message: 09/08/2004, 22h56

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