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

Programmation avec Starter-kit PK-HCS12E128



  1. #1
    lui

    Programmation avec Starter-kit PK-HCS12E128


    ------

    salut
    pour commander une PLL, j'ai pensé à utiliser la carte "Starter-kit PK-HCS12E128". avec elle, je veux générer trois trames afin d'initialiser les rgsitre de la PLL.

    Pour cela je cheche quelques informations:
    - comment peut-on allumer les LED (exemple LED0)
    - le port E en sortie, est ce qu'il aura pas de problème
    - voici un morceau de mon programme:

    ============================== ==========
    #include <hidef.h> /* common defines and macros */
    #include <mc9s12e128.h> /* derivative information */


    #pragma LINK_INFO DERIVATIVE "SampleS12"



    void main(void) {

    unsigned char trame_R[]= {0,1,1,1, 1,0,0,0, 0,1,0,1, 0,1,0,1, 0,1,0,1, 1}; // Registre R
    long i;
    PORTA_BIT0 = 0; // LE à 0

    for(i=0; i<21; i++)
    {
    if (trame_R[i]==1)
    PORTE_BIT0 = 1; //les données sur le Port E


    else
    PORTE_BIT0 = 0; //les données sur le Port E

    if (i == 21)
    PORTA_BIT0 = 1; //LE à 1

    }
    }
    ============================== =======

    est ce que il fonctionnera sans problème


    Je vous remercie d'avance

    -----

  2. Publicité
  3. #2
    umfred

    Re : Programmation avec Starter-kit PK-HCS12E128

    Concernant le programme, je pense qu'il manque la configuration des ports (ou plutot des bits des ports) en sortie (je pense que le nom de ces registres sont PORTA_DIR et PORTE_DIR, ne connaissant pas ce kit).
    Hormis ça, je pense que le programme doit fonctionner.

    Néanmoins:
    - je déclarerai i en unsigned char (valeur de 0 à 255) si tu ne comptes pas dépasser ces valeurs.
    - concernant le test
    Code:
    if (i == 21)
    PORTA_BIT0 = 1; //LE à 1
    je ne mettrai que "PORTA_BIT0 = 1; //LE à 1 " à la suite de la sortie du la boucle "for" (économie d'un test qui me semble à priori inutile dans cet exemple):
    Code:
    for(i=0; i<21; i++)
    {
    if (trame_R[i]==1)
    PORTE_BIT0 = 1; //les données sur le Port E
    
    
    else
    PORTE_BIT0 = 0; //les données sur le Port E
    
    }
    PORTA_BIT0 = 1; //LE à 1
    }

  4. #3
    Jack
    Modérateur

    Re : Programmation avec Starter-kit PK-HCS12E128

    je ne mettrai que "PORTA_BIT0 = 1; //LE à 1 " à la suite de la sortie du la boucle "for" (économie d'un test qui me semble à priori inutile dans cet exemple):
    J'avais mal lu dans un premier temps.

    Je pense cependant que le compilateur va optimiser ça sans problème, mais sur le fond, tu as raison.

    A+
    Dernière modification par Jack ; 28/06/2006 à 21h44.

  5. #4
    lui

    Re : Programmation avec Starter-kit PK-HCS12E128

    la position de "PORTA_BIT0 = 1; " est bien a mon avis, en fait je veux copier en sortie les valeurs de tableau trame défini avant.

    je vais essayer de configurer les bits des ports et je te tien aucourant

    Merci

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    Jack
    Modérateur

    Re : Programmation avec Starter-kit PK-HCS12E128

    la position de "PORTA_BIT0 = 1; " est bien a mon avis,
    umfred ne disait pas le contraire.

    Il précisait simplement que le test "if (i == 21)" était inutile vu que la boucle for se terminait lorsque i était égal à 21.

    A+

  9. #6
    lui

    Re : Programmation avec Starter-kit PK-HCS12E128

    ok, la j'ai bien compris, je vais le mettre en dehors de la boucle for.

    Merci

  10. Publicité
  11. #7
    lui

    Re : Programmation avec Starter-kit PK-HCS12E128

    Le programme que je veux réaliser servera pour programmer une PLL, il faut mettre les mots de 21 bits sous forme d'une trame sachant que chaque bit est prit en concedération avec les front d'horloge. l'image ci-joint expliquera comment faut introduire ces données.

    avec mon programme, entre deux bits, y a plusieurs front d'horloge, ce qui fonctionne pas avec le circuit.

    Est ce que quelqu'un peut m'ecrire un petit programme afin de mettre les données (trame) sur un port et en meme temps faut que les bits changent avec les front d'horloge.

    je vous remercie d'avance

    LUI
    Images attachées Images attachées

  12. #8
    umfred

    Re : Programmation avec Starter-kit PK-HCS12E128

    Quel est déja le programme que tu as écrit?
    Si on se base sur le programme posté au début, il suffit de générer un top d'horloge (front descendant puis front montant) à la suite du positionnement du bit sur le port E:
    Code:
    #include <hidef.h>
    #include <mc9s12e128.h>
    
    
    #pragma LINK_INFO DERIVATIVE "SampleS12"
    
    
    
    void main(void) {
    
    unsigned char trame_R[]= {0,1,1,1, 1,0,0,0, 0,1,0,1, 0,1,0,1, 0,1,0,1, 1}; // Registre R
    long i;
    PORTA_BIT0 = 0; // LE à 0
    
    for(i=0; i<21; i++)
    {
    if (trame_R[i]==1) {
    PORTE_BIT0 = 1; //les données sur le Port E
    top_clock();
    }
    else{
    PORTE_BIT0 = 0; //les données sur le Port E
    topclock()
    }
    }
    PORTA_BIT0 = 1; //LE à 1
    
    }
    
    void top_clock(){
    tempo (Tcs); //temps préconisé entre mise sur le port du bit et front d'horloge
    clock=1; //front d'horloge
    tempo(Tcwh); //temps préconisé du top d'horloge
    clock=0;
    tempo(Tcwl); //temps préconisé entre le front descendant d'un top d'horloge, et le front montant du top d'horloge suivant
    }
    Bien sûr les tempo sont à faire si elles sont nécessaires par rapport au temps d'exécution des instructions.

  13. #9
    lui

    Re : Programmation avec Starter-kit PK-HCS12E128

    ta réponse m'a bien aidé pour comprendre ce qu'il faut faire
    merci beaucoup

  14. #10
    lui

    Re : Programmation avec Starter-kit PK-HCS12E128

    Est ce que t'as pas une idée pour faire une temporisation?
    avant j'ai travaillé sur une autre version, et on utilise TIMER_wait(30*TIMER_CLOCK_PER_ MS) ; avec le timer 7.

    lui

  15. #11
    lui

    Re : Programmation avec Starter-kit PK-HCS12E128

    je retire ma dernière question, elle est de niveau débutant.

    de tout façon merci beaucoup


    lui

Discussions similaires

  1. Quel starter kit choisir?
    Par alex934mas dans le forum Électronique
    Réponses: 8
    Dernier message: 13/12/2007, 17h40
  2. DSP Starter Kit
    Par badouche dans le forum Électronique
    Réponses: 4
    Dernier message: 22/10/2007, 19h41
  3. Débuter avec le kit easypic4
    Par electromac dans le forum Électronique
    Réponses: 0
    Dernier message: 11/11/2006, 19h06
  4. problème Starter-kit "EasyPIC 3"
    Par nanard dans le forum Électronique
    Réponses: 37
    Dernier message: 16/06/2006, 17h16
  5. Creer un kit main libre auto avec un kit piéton
    Par jojo25 dans le forum Électronique
    Réponses: 1
    Dernier message: 14/12/2003, 17h41
Découvrez nos comparatifs produits sur l'informatique et les technologies.