Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Inscrit en
    juillet 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : juillet 2004
    Messages : 3
    Points : 0
    Points
    0

    Par défaut [MSP430 F1211] Cherche tutoriels

    Salut,

    dans le cadre de mon stage je dois programmer des microcontroleur msp430 F1211 pour, dans un premier temps, faire quelques trucs pas bien compliqués a priori, par exemple créer un signal carré d'une fréquence donnée, lire la fréquence d'un signal carré... Par la suite, il faudra que je perfectionne un petit peu les programmes et que j'ajoute quelques fonctionnalités mais je voudrais déjà réussir à avoir une bonne base sur les programmes initiaux.
    Quelqu'un pourrait-il m'aider à ce sujet ? Si vous avez des tutoriels adaptés, des liens web, quelques connaissances ou quelques idées là-dessus, ça m'aiderait vraiment.
    Merci !

    NiCo

  2. #2
    Responsable Pascal, Delphi et Assembleur

    Avatar de Alcatîz
    Homme Profil pro Jean-Luc Gofflot
    Ressources humaines
    Inscrit en
    mars 2003
    Messages
    6 166
    Détails du profil
    Informations personnelles :
    Nom : Homme Jean-Luc Gofflot
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : mars 2003
    Messages : 6 166
    Points : 40 836
    Points
    40 836

    Par défaut

    Bonjour et bienvenue !

    est ton ami !

    Un lien ultra-complet parmi d'autres : http://www.htsoft.com/htmlman/msp430/

  3. #3
    Invité de passage
    Inscrit en
    juillet 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : juillet 2004
    Messages : 3
    Points : 0
    Points
    0

    Par défaut

    merci Alcatiz, c vrai que ca a lair tres complet. je c pa si je v men sortir parcque ca a lair aussi un peu gigantesque mais jvais essayer. si qqun a dotres infos ou un site du genre en francais pour me faire gagner du tps nhesitez pas a me le signaler, merci bcp!

  4. #4
    Invité de passage
    Inscrit en
    juillet 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : juillet 2004
    Messages : 3
    Points : 0
    Points
    0

    Par défaut

    jai lu ce tutoriel de maniere un peu plus approfondi et il nexplique en fait que lutilisation dun compilateur et des bibliotheques que lon peu utiliser mais il ny a pas dexplication sur la programmation du microcontroleur. sur google je ne trouve rien de bien interessant alors jsuis un peu bloqué..
    pour faire une fonction carré il devrait suffire davoir une des pates en entrée avec une tension continue et davoir une pate en sortie qui serait soit un court circuit soit un coupe circuit à intervalles réguliers je pense. mais je n'ai aucun exemple de programme de ce type et je ne sais pas comment m'y prendre..

  5. #5
    Invité régulier
    Inscrit en
    mars 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 4
    Points : 5
    Points
    5

    Par défaut

    Bonjour!

    jai lu ce tutoriel de maniere un peu plus approfondi et il nexplique en fait
    que lutilisation dun compilateur et des bibliotheques que lon peu utiliser mais
    il ny a pas dexplication sur la programmation du microcontroleur. sur google
    je ne trouve rien de bien interessant alors jsuis un peu bloqué..

    pour faire une fonction carré il devrait suffire davoir une des pates en entrée
    avec une tension continue et davoir une pate en sortie qui serait soit un court
    circuit soit un coupe circuit à intervalles réguliers je pense. mais je n'ai aucun
    exemple de programme de ce type et je ne sais pas comment m'y prendre..
    Pour démarrer, il n'y a pas 36 solutions, il faut lire.
    Et puis pour commencer à programmer, il y a des exemples de programmes
    publiés par Texas Instruments. J'ai fait récemment un inventaire de tout ce
    qu'il y a, et il y a vraiment de quoi commencer à mon avis.
    Voici le lien :
    http://passworld.co.jp/ForumMSP430/viewtopic.php?t=14

    Bon, maintenant voyons votre problème. Vous voulez faire un signal
    carré très simple? Je ne vous le fais pas en assembleur mais en C.

    Par exemple, supposons que vous vouliez faire clignoter la LED qui est
    sur le bit 0 du port 1 sur la plupart des cartes Texas.

    Vous n'avez pas besoin d'une entrée comme vous le pensiez, mais d'une
    sortie seulement. Il faut donc dire au processeur de configurer le bit 0
    du port 1 en sortie:

    P1DIR = 0x01;

    Ensuite, si vous voulez VCC sur la patte 1:

    P1OUT = 0x01;

    Et si vous voulez 0V sur la patte 1:

    P1OUT = 0;

    C'est tout.

    Alors maintenant, il est possible que vous utilisiez les autres bits du port
    1. Donc vous allez faire un peu différemment:

    P1OUT |= 0x01; // Mettre P1.0 (et P1.0 seulement) à VCC
    P1OUT &= ~0x01; // Mettre P1.9 (et P1.0 seulement) à 0.

    | est la fonction ou. Donc vous forcez le dernier bit à 1.
    & est la foncion et, et ~ est l'inverse binaire. L'inverse binaire de 00000001
    est 11111110. Si vous faites un et logique d'une variable avec 11111110,
    vous écrasez le dernier bit seulement.

    Maintent, comment faire le signal carré, comment faire clignoter la LED:

    Vous pouvez maintenir une variable qui donne l'état de sortie.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #define uint8 unsigned char; // Pas obligatoire, mais pratique
    uint8 status;
     
    int main() {
        [...] // Stopper le "watchdog timer" (je ne sais plus de mémoire).
        P1DIR |= 0x01;
        P1OUT &= ~0x01;
        status = 0;
        while(1) {
            // Inverser la variable status
            if(status == 0) status = 1;
            else status = 0;
            // Mettre l'état du port 1 selon l'état de status
            if(status) P1OUT |= 0x01;
            else P1OUT &= ~0x01;
        }
    }
    Maintenant, si vous regardez la LED, ça risque de clignoter un peu vite,
    alors vous pouvez faire une fonction delay qui vous donne un délai en
    millisecondes.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #define MS_CLOCKS 180   // Nombre de cycles pour 1 milliseconde
     
    void wait_ms() {
        uint16 i;
        // Attention: comme cette boucle ne fait rien, certains compilateurs
        // peuvent la supprimer. Si c'est le cas, mettez une variable qui ne
        // sert à rien, mais que vous incrémentez dans la boucle.
        for(i = 0 ; i < MS_CLOCKS ; ++i);
    }
     
    // Maintenant la fonction delay vous donnera le délai voulu en millisecondes.
    // Il faut faire un essai dans le programme plus haut. Si vous mettez
    // delay(500), allumez la LED, puis un autre delay(500) et éteignez la
    // led, il faudra ajuster la definition de MS_CLOCKS pour que ça clignote
    // avec une période d'une seconde.
    void delay(uint16 ms) { // Délai en millisecondes
        uint16 i;
        for(i = 0 ; i < ms ; ++i) wait_ms();
    }
    Bon, maintenant que j'ai fait votre boulot de stage, vous me devez une
    bière.

    Pascal

  6. #6
    Invité de passage
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : octobre 2011
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Tutoriels en francais

    Tu trouveras un blog sur le MSP430 avec une série de tutoriels en francais à cette adresse :
    http://http://430mania.blogspot.com/

    Les articles sont assez variés et intéressants.
    A+

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •