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

Autres architectures Assembleur Discussion :

[MSP430 F1211] Cherche tutoriels


Sujet :

Autres architectures Assembleur

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 3
    Points : 1
    Points
    1
    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, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue !

    est ton ami !

    Un lien ultra-complet parmi d'autres : http://www.htsoft.com/htmlman/msp430/
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 3
    Points : 1
    Points
    1
    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
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 3
    Points : 1
    Points
    1
    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
    Futur Membre du Club
    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 : 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
     
    #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 : 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
     
    #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
    Candidat au Club
    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 : 3
    Points
    3
    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.

Discussions similaires

  1. [Rave] Cherche Tutoriel
    Par Andry dans le forum Rave
    Réponses: 3
    Dernier message: 02/02/2009, 20h28
  2. [BO INFOS] Cherche tutoriel
    Par donny dans le forum Débuter
    Réponses: 8
    Dernier message: 26/10/2006, 15h43
  3. [Jboss+Eclipse] Cherche tutoriel pour créer des EJB3
    Par ericw78 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 26/08/2005, 16h50
  4. [FreeReport] Cherche Tutoriel ou doc
    Par b30ff dans le forum Autres outils décisionnels
    Réponses: 4
    Dernier message: 18/12/2004, 07h16
  5. Cherche tutoriel pour les Decision Cube
    Par megane dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/02/2004, 13h05

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