programmation en PIC C
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

programmation en PIC C



  1. #1
    malmou

    programmation en PIC C


    ------

    salut,

    j'ai besoin d'aide svp,
    quelqu'un peyt m'expliquer pourquoi ce code n'affiche rien à l'hyperterminal lorsque je l'envoi le mot "up" ou "down":



    char up[10];
    char down[10];
    char chaine[10];


    void main()
    {

    strcpy(up, "up");
    strcpy(down, "down");

    while(TRUE)
    {
    gets(chaine);
    if( strcmp(chaine,up) == 0 )
    printf( "up" );


    if( strcmp(chaine,down) == 0 )
    printf("down");
    }

    }

    et merci d'avance

    -----

  2. #2
    Aurélien

    Re : programmation en PIC C

    Quel PIC, quel compilo, à quoi sont liées les fonctions de type stdio...

  3. #3
    Tonave72

    Re : programmation en PIC C

    Salut!

    Une question, tu cherches à faire quoi de la RS232?

    Si c'est la cas il te manque un paquet de code... A moins que ton compilo soit très intelligent

    Tonave

    Edit : gets te retourne un char* de mémoire, où le stockes tu?
    Dernière modification par Tonave72 ; 04/03/2013 à 16h08.
    Rien ne se perd, rien ne se crée, tout se transforme. Lavoisier

  4. #4
    spown

    Re : programmation en PIC C

    Salut,

    Bien sur que ça ne va pas marcher. Ils sont ou les déclarations pour l'interface UART ?

    Tu utilises quel buffer pour envoyer tes "data" vers l'hyperterminal ?

    Peux tu clarifier plus ta problématique. Quel PIC ? schéma si c'est possible

  5. A voir en vidéo sur Futura
  6. #5
    malmou

    Re : programmation en PIC C

    sorry i'm a begginner in progrmming,

    j'utilise le pin 16F877, et je veuw envoyer une chaine de caractère du pic au pic à (l'hyperterminal) via un port RS232.
    les déclarations de l'uart:

    #define ICD_DEBUG 0 ; <<< if using MPLAB ICD Debugger, moves bootloader down 256 bytes to make room for it [0|1]
    #define FOSC D'4000000' ; <<< set quartz frequence [Hz], max. 20 MHz
    #define BAUD_ERROR D'4' ; <<< set baud rate error [%]
    #define PIN ; <<< set method of bootloader start PIN/TIME
    #define TRIGGER PORTC,5 ; <<< only for PIN - set PORT_X,PIN_NR
    #define TIMEOUT D'2' ; <<< only for TIME - set time [0.1s], max. 25 sec
    #define WATCHDOGTIMER 0 ; <<< Watchdog timer default OFF/ON [0|1]
    #define __5x10CHAR 0b00000100 // Caractère défini par l'utilisateur: taille=5x10
    #include <16F877.H>// Include header file
    #fuses XT,NOWDT// Crysral Osc(4Mhz), No watchdog timer
    #use delay(clock=20000000)// 4Mhz crystal frequency
    #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)// to set baud rate, Tx and Rx Pin
    #include <math.h>
    #include <string.h>


    peux-tu me clarifier comment pourrai-je utiliser le buffer?

    thx a lot

  7. #6
    Aurélien

    Re : programmation en PIC C

    Commences deja par répondre aux questions...

  8. #7
    malmou

    Re : programmation en PIC C

    j'utilise le compilateur pic c compiler,
    pouvez vous me dire comment récupérer les données sur le pin C7.

  9. #8
    malmou

    Re : programmation en PIC C

    je n'utilise aucun buffer

  10. #9
    spown

    Re : programmation en PIC C

    Bonjour/bonsoir tout le monde,

    Pour malmou, si j'ai bien compris tu utilises MPLAB ( quel version ) avec 16F877 ?!

    c'est ça ton idée : pic1==>pic2==> hyperterminal ??

    Comment tu vas envoyer les données à partir du pic1 ?? ( un clavier , boutons poussoirs , ou juste ce que t'as sauvegardé dans le programme )

    As-tu lu ce document ==> http://ww1.microchip.com/downloads/e...doc/30292c.pdf ??

    Tu as tout les réponses à partir de la page 95.

    Finalement entre nous d'où t'as eu ce bout de code ?! ( je vois des déclarations non utilisable )

  11. #10
    malmou

    Re : programmation en PIC C

    slt
    SPOWN: J'utilise un seul pic 16F877, liée à un port RS232, je veux envoyer une chaine de caractère a travers l'hyperterminal (envoyer un fichier texte).
    le probleme c'est que j'arrive pas à récupérer le message envoyé.
    j'utilise pas le mplab mais le pic c, et pic c compiler.
    pour le bout de programme envoyé, ce sont pas des déclarations inutilisables, mais j'en ai besoin tous pour le reste du programme.
    merci

  12. #11
    spown

    Re : programmation en PIC C

    Bonjour/bonsoir,

    Je connais pas PIC C, je sais pas si les routines sont déjà définis ou pas.
    Bref, regarde ce document page 107 ==> http://ww1.microchip.com/downloads/e...doc/30292c.pdf tu as les 11 étapes pour le mode synchrone.

    Bout de code qui te manque :

    TRISC = 0b01....// POUR RX en RC7 en input
    TXSTA = 0x34 ; //Mode asynchrone & 8 bit
    SPBRG = 51; // T/R 9600 bauds/s
    RCSTA = 0x90 ; // SPEN .

    Vérifies les bonne pins , aussi la configuration des registres.

    pour l'interruption

    tu dois ajouté ces déclarations à l'initialisation :

    GIE = 1;
    PEIE = 1;
    RCIE = 1;


    puis tu ajoutes :

    int data;
    interrupt intr(void)
    {
    if ( RCIF)
    {
    data = RCREG;
    while (!TXIF) ; // wait until previus character transmitted
    TXREG = data; // echo pour renvoyer à l'hyperterminal
    }
    RCIF = 0; // flag à zero
    ...

    J’espère que ça t'aidera un peu .

    Note: c'est juste pour envoyer un seul caractère. Si sa marchera on verra pour une chaîne . ( 3 lignes de code de plus )

Discussions similaires

  1. programmation PIC
    Par invitea88fc388 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 14/10/2010, 11h34
  2. Besoin d'aide pour de la programmation d'un PIC en PIC BASIC
    Par invitee5982f08 dans le forum Électronique
    Réponses: 24
    Dernier message: 26/01/2010, 10h18
  3. programmation de pic en c++
    Par mrd9991 dans le forum Électronique
    Réponses: 7
    Dernier message: 05/10/2009, 00h32
  4. erreur 0X00 programmation PIC plus questions sur les PIC
    Par invite4a8ccabd dans le forum Électronique
    Réponses: 4
    Dernier message: 22/07/2007, 14h36
  5. programmation pic
    Par invite7cd01ac2 dans le forum Électronique
    Réponses: 5
    Dernier message: 16/06/2007, 00h34
Découvrez nos comparatifs produits sur l'informatique et les technologies.