Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:



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

USART sur PIC

  1. noisyboxes

    Date d'inscription
    mars 2007
    Âge
    29
    Messages
    65

    USART sur PIC

    bonjour
    voila j'ai un projet à mettre en oeuvre et ça fait qq jours que je bloque...
    Voici a peu près le cahier des charges et mes questions:
    Je converti un signal analogique en num que j'envoi direct à un PC par RS232 en utilisant le module USART de mon PIC et pas en mode interruption.
    Ca c'est bon ca marche y a pas de problème.
    Le soucis vient du fait que je vais devoir recevoir des commandes (genre changement de fréq du convertisseur, piloté un multipexeur...)
    et ces commandes vont arriver sous forme de trame, 2bits d'identification, 10 Bits de commande, 3,4bits de données (quelque chose dans ce style)
    Je voudrais donc effectué cette reception en mode interruption pour ne pas avoir à scruter tout le temps si il ya une reception.
    Le problème et que je ne vois pas comment faire, je ne sais pas comment mettre en place le traitement de la trame (tester les 2 premiers bits, après 10...etc)
    et je ne sais pas si si traitement je dois le mettre dans la routine d'interruption de reception?
    et enfin est-ce que ça ne va pas mettre le bazard dans mon CAN et mon envoir de données????
    voilà, ça fait beaucoup de questions, mais j'espère avoir était assez clair!

    merci à tous et bonne journée


     


    • Publicité



  2. umfred

    Date d'inscription
    mars 2006
    Âge
    35
    Messages
    1 346

    Re : USART sur PIC

    Citation Envoyé par noisyboxes Voir le message
    et je ne sais pas si si traitement je dois le mettre dans la routine d'interruption de reception?
    normalement une routine d'interruption doit être la plus courte posible, dans ton cas, je pense qu'elle mettra juste à jour des variables.
    et enfin est-ce que ça ne va pas mettre le bazard dans mon CAN et mon envoir de données????
    tu peux autoriser ou non les interruptions à certains moments critiques donc ça permet de réduire d'interferer avec ces points.

    Consulte la datasheet du PIC que tu utilise dans le chapitre USART, il doit être écrit la procédure de son utilisation en interruption.
     

  3. RISC

    Date d'inscription
    novembre 2006
    Messages
    3 307

    Re : USART sur PIC

    Bonjour,

    Quel PIC utilises-tu ?

    Pour ton cahier des charges, je te conseille la procédure suivante :

    1/ Gestion de l'USART sous interruption

    2/ Gestion du convertisseur A/N automatique en utilisant le mode output compare de l'unité MSSP. C-a-d que les conversions sont lancées automatiquement à une fréquence donnée que tu peux bien sur changer dynamiquement.
    De meme lecture du CAN sous interruption

    3/ Pour ta trame, il faut que tu nous éclaire sur la fréquence et la forme des signaux.
    Je pense que tu peux la gérer en polling + interruption si la fréquence n'est pas trop élevée.

    a+
     

  4. noisyboxes

    Date d'inscription
    mars 2007
    Âge
    29
    Messages
    65

    Re : USART sur PIC

    Pour le PIC, j'utilise un 16F876A,

    j'ai pas bien compris ton mess 'RISC',
    Citation Envoyé par RISC Voir le message
    Gestion du convertisseur A/N automatique en utilisant le mode output compare de l'unité MSSP
    je ne sais pas trop ce que c'est, mais je vais regardé dans la doc voir ce que c'est.

    sinon la reception de la trame se fait à 9600 Bauds, ce qui n'est pas extrêmement élevé, et les signaux sont je pense des signaux normaux, TTL quoi, compatibles avec le PIC. Tu parles de "polling + interruption"...interruption je comprend mais polling pas du tout!! mais je vais jeter un oeil dans la doc et le cours de Bigonoff voir deja si je peut essayer de mettre en place vos indications.
     

  5. umfred

    Date d'inscription
    mars 2006
    Âge
    35
    Messages
    1 346

    Re : USART sur PIC

    le polling c'est tester (périodiquement ou en continu) si ce que l'on veut arrive.

    par exemple
    Code:
    test
    btfss portb,0 ;tant qu'on a pas un 1 sur B0, on attend
    goto test
    ..; traitement
     


    • Publicité



  6. RISC

    Date d'inscription
    novembre 2006
    Messages
    3 307

    Re : USART sur PIC

    Bonsoir,

    Tu recois donc, si je comprends bien, tes trames par la liaison UART. Si c'est le cas, l'UART ne recois que des caractères de 7 ou 8bits. Comment tes différents bits sont ils regroupés ?

    Pour le "polling" le mot français correspondant est scrutation comme l'a expliqué umfred.

    Mais mon assomption 3/ n'est plus exacte au vu de ton dernier post :

    UART :
    a/ en émission les valeurs du CAN
    b/ en réception tes trames

    correct ?

    a+
     

  7. noisyboxes

    Date d'inscription
    mars 2007
    Âge
    29
    Messages
    65

    Re : USART sur PIC

    c'est exactement ça!
    sauf que mon prog qui envoit les valeurs de sorties du CAN n'est pas géré par ijnterruption!
    et ma trame de reception contient un nombre + ou - aléatoire de bits. mais je pense que je vais demandé à ce que se soit plus "conventionnel" et que le dernier octet soit prédéfini afin de marquer la fin de la trame.
    comme ça je pourais détecté la fin de la trame en vu de son traitement.

    qu'en pensez vous et avez vous déja fait ça (prog qui marche???)
    merci beaucoup
     


    • Publicité




Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. USART du PIC16F628
    Par Patrick dans le forum Électronique
    Réponses: 2
    Dernier message: 01/06/2008, 16h28
  2. erreur 0X00 programmation PIC plus questions sur les PIC
    Par ROTT dans le forum Électronique
    Réponses: 4
    Dernier message: 22/07/2007, 15h36
  3. Usart ou I2C?
    Par srr dans le forum Électronique
    Réponses: 45
    Dernier message: 28/02/2007, 15h19
  4. 16F876 Et transmission USART
    Par Peter dans le forum Électronique
    Réponses: 13
    Dernier message: 07/11/2006, 19h36
  5. Usart Avr
    Par McFly dans le forum Électronique
    Réponses: 13
    Dernier message: 21/05/2006, 00h43

Les tags pour cette discussion