délai avec stm32
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 34

délai avec stm32



  1. #1
    mmm999

    Smile délai avec stm32


    ------

    bonjour les tous
    comment je peux faire un délai de 1 second sur un stm32F4 discovery avec une fréquence interne de 168MHZ
    merci

    -----

  2. #2
    invitee05a3fcc

    Re : délai avec stm32

    Citation Envoyé par mmm999 Voir le message
    comment je peux faire un délai de 1 second sur un stm32F4 discovery avec une fréquence interne de 168MHZ
    je rêve !
    Tu te piques de développer un OS universel
    Citation Envoyé par mmm999 Voir le message
    aprés une petite experience que j'ai eu de la programmation des microcontrolleurs(STM32 + PIC). j'ai pensé à écrire une petite OS que je le nomme AYMOS.
    Et tu viens poser une question de ce niveau ?
    Tu es un charlatan !

  3. #3
    invite29971eb1

    Re : délai avec stm32

    Ah oui quand même....j'ai répondu à l'autre discussion avant de venir ici....

  4. #4
    mmm999

    Re : délai avec stm32

    looool
    voila c'est ici que j'ai eu mes problèmes. je suis 100% microchipien. lors de passage vers STM32 j'ai eu des problèmes avec les délai(pour les lcd par exemple). donc j'avais camouflais un délai de 10 us(j'ai met un toogle sur une PIN avec un decomptage d'une variable et j'ai installer un oscilloscope, j'ai eu mon 100 KHZ).
    depuis ce moment je travail avec cette fonction sans aucune idée qu'est qu'il passe.
    comme dans les délai de PIC, je pense à réaliser une fnction qu'est bien étudier et je doit soit passer par assembleur et tiendre compte de pipeline, soit prendre idée sur le nombre de cycle pri pour faire les instruction while(); compt-- ...
    c'est pour ça je demande votre aide

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

    Re : délai avec stm32

    Pour un délais d'une seconde, tu passes par un timer !

  7. #6
    invite29971eb1

    Re : délai avec stm32

    Citation Envoyé par DAUDET78 Voir le message
    Pour un délais d'une seconde, tu passes par un timer !
    Je dirais même plus, tu utilises le Systick Timer...ou tu regardes les exemples de ST ou le delay devrait être présent dans le premier exemple de programme, le fameux blinky.

  8. #7
    mmm999

    Thumbs up Re : délai avec stm32

    non daudet pas de passage par timer, je veux une solution software

  9. #8
    invitee05a3fcc

    Re : délai avec stm32

    Citation Envoyé par mmm999 Voir le message
    pas de passage par timer, je veux une solution software
    Donc tu bloques ton CPU pendant une seconde ? et il ne fera rien d'autre que de peigner la girafe? .... complétement débile !

  10. #9
    mmm999

    Re : délai avec stm32

    non pas une seconde bien sur ! ça va bloquer AYmos, mais pour quelque microsecond max 2 ms

  11. #10
    invitee05a3fcc

    Re : délai avec stm32

    Citation Envoyé par mmm999 Voir le message
    non pas une seconde bien sur ! ça va bloquer AYmos, mais pour quelque microsecond max 2 ms
    ??????
    Citation Envoyé par mmm999 Voir le message
    comment je peux faire un délai de 1 second sur un stm32F4 discovery avec une fréquence interne de 168MHZ
    Ta question de départ !
    et ne me dit pas que c'est une faute de frappe ... tu as tout le temps pour écrire ta demande et la vérifier .
    Une fois envoyé, tu as 5 minutes pour la corriger.

    Pour moi, le seul motif : Le je m’en foutisme

  12. #11
    mmm999

    Re : délai avec stm32

    si vous me donner le code pour une seconde je peux le transformer en 1 us .. mais prend une conseil de moi mon chère
    DAUDET78 qui tu es surement null dans le domaine de l'embarqué que la validation d'une procédure de temps se fais en second, on démarre une boucle qui incrémente une variable chaque second puis après une heure on calcul le taux d'erreur. donc lorsque je demande une procédure je le demande pour une seconde pour faire mes test et pas pour des microseconds que je doit être équipé par un oscilloscope

  13. #12
    invitee05a3fcc

    Re : délai avec stm32

    Rien pigé à ton charabia ...
    Citation Envoyé par mmm999 Voir le message
    DAUDET78 qui tu es surement null dans le domaine de l'embarqué
    Tu ne sais rien de mon expérience dans ce domaine ..... Donc je n'ai pas besoin de tes conseils bidons !

  14. #13
    mmm999

    Re : délai avec stm32

    partage votre expérience alors ! pas pour moi pour les autres

  15. #14
    invitee05a3fcc

    Re : délai avec stm32

    Citation Envoyé par mmm999 Voir le message
    partage votre expérience alors !
    C'est ce que je fais depuis plus de 7 ans ...

  16. #15
    mmm999

    Re : délai avec stm32

    vazi donner nous le code alors

  17. #16
    invite29971eb1

    Re : délai avec stm32

    Citation Envoyé par mmm999 Voir le message
    vazi donner nous le code alors
    Il est dans les exemples....

    Quant à ton histoire de tester sur 1 seconde, c'est du grand délire. C'est comme si on testait une voiture de série à 500 km/h en disant qu'elle marchera à 100.

    Les fonctions et la logique pour faire une pause de 1µs ou d'1 seconde ne sont pas les mêmes. Sur 1 seconde, on hésitera pas à mettre le micro en veille, alors que sur 1µs, ça mérite réflexion.

  18. #17
    invite71a6c60d

    Re : délai avec stm32

    Code:
    int i;
    for(i=0;i<900;i++);
    remplacer 900 par la valeur juste et voila un delay courte durée non precis sans timer

  19. #18
    mmm999

    Re : délai avec stm32

    merci pour les informations précieux ! j'apprend de vous
    Il est dans les exemples....
    remplacer 900 par la valeur juste et voila un delay courte durée non precis sans timer
    c'est sa mon problème ! je sais pas combien il reste !! pour une séquence d'initialisation de LCD soit il prend bcp de temp pour initialiser ou sera bref pour que l'initialisation ne réussit pas
    Quant à ton histoire de tester sur 1 seconde, c'est du grand délire. C'est comme si on testait une voiture de série à 500 km/h en disant qu'elle marchera à 100.
    oui vous êtes raison !!
    et c'est pour ça je n'apprécier pas le STM32.
    dans les PIC vous utilisez les fonctions qui fais des délais par nombre de tick à perdre.
    ici on sait pas même est ce qu'on est à quelle fréquence et votre code combien il prend
    pour sortir de quelque chose je partage mes fonctions. ils sont précis mais je peux pas expliquer pourquoi ça !
    pour un délai de 10 micro second
    void delay_10_us(void)
    {
    char x;
    x= 36;
    while(x--);
    }
    pour les multiples (délai = x * 10us)
    void delay_x10_us(uint32_t x)
    {
    while(x--) delay_10_us();
    }
    pour les millisecond
    void delay_ms(uint32_t x)
    {
    while(x--) delay_x10_us(100);
    }
    taux d'erreur faible mais négligeable

  20. #19
    invite29971eb1

    Re : délai avec stm32

    Citation Envoyé par mmm999 Voir le message
    c'est sa mon problème ! je sais pas combien il reste !! pour une séquence d'initialisation de LCD soit il prend bcp de temp pour initialiser ou sera bref pour que l'initialisation ne réussit pas
    Bref ton delay ne fonctionne pas.

    oui vous êtes raison !!
    et c'est pour ça je n'apprécier pas le STM32.
    dans les PIC vous utilisez les fonctions qui fais des délais par nombre de tick à perdre.
    ici on sait pas même est ce qu'on est à quelle fréquence et votre code combien il prend
    Parce que tu ne maîtrises pas le micro, que tu n'as pas ouvert les exemples les plus basiques et que tu as surement à peine survolé le User manual...c'est bête hein, faut bosser

    pour sortir de quelque chose je partage mes fonctions. ils sont précis mais je peux pas expliquer pourquoi ça !
    Nous non plus, on ne peut pas expliquer....et ajoute une interruption dans ton système, une réception sur port série par exemple, et on verra si c'est encore précis...

    Tu devrais franchement arrêter là, reprendre les bases avant de te couvrir totalement de ridicule.

    Pour faire des delays précis, on désactive les interruptions, et on définit les temps de cycles équivalents au delay, tout en prenant en compte l'entrée et la sortie de la fonction. Vu qu'en pratique et sur un système complexe, on ne désactive jamais les interruptions pour un bête delay, on utilise un timer soit réglé sur la durée à passer soit sur une valeur fixe (1ms ou 1µs par exemple) et on compte le nombre d'interruptions....

  21. #20
    sly37

    Re : délai avec stm32

    Bonjour,

    Le STM32 je le connais presque par coeur.
    Par contre avec ton français peu reluisant, tes explications et la finalité de ta demande pas très bien exprimée, je comprends rien et donc peux pas t'aider.

    Un chronogramme serait le bien venu!

  22. #21
    mmm999

    Re : délai avec stm32

    Bref ton delay ne fonctionne pas.
    il faut activer les 168 MHZ
    SystemInit();
    SystemCoreClockUpdate();
    sinon sa sera des heures pour une second
    Parce que tu ne maîtrises pas le micro, que tu n'as pas ouvert les exemples les plus basiques et que tu as surement à peine survolé le User manual...c'est bête hein, faut bosser
    oui ta raison !! lorsque j'ouvre le reference manuel je vois du chinois, lorsque j'ouvre les exemples soit je trouve des délai sans indications de temps qu'ils prend, soit un OS integré donc je doit manipuler plus de 10 000 lignes pour chercher mon objectif

    Nous non plus, on ne peut pas expliquer....et ajoute une interruption dans ton système, une réception sur port série par exemple, et on verra si c'est encore précis...

    Tu devrais franchement arrêter là, reprendre les bases avant de te couvrir totalement de ridicule.

    Pour faire des delays précis, on désactive les interruptions, et on définit les temps de cycles équivalents au delay, tout en prenant en compte l'entrée et la sortie de la fonction. Vu qu'en pratique et sur un système complexe, on ne désactive jamais les interruptions pour un bête delay, on utilise un timer soit réglé sur la durée à passer soit sur une valeur fixe (1ms ou 1µs par exemple) et on compte le nombre d'interruptions....
    ahhh voila j'ai compris !!!! j'ai compris maintenant pourquoi les sociétés exige des délai qui utilise les TIMER (j'ai travailler avec personne qui exige ça)
    bon les délais que je cherche sont pour la séquence d'initialisation lors de démarrage de controller (pas encore activer les interruptions)
    mais j'ai suis convaincu par l'utilisation de TIMER !!
    Par contre avec ton français peu reluisant, tes explications et la finalité de ta demande pas très bien exprimée, je comprends rien et donc peux pas t'aider.
    tu as raisons sly37 et je suis désolé
    je vais essayer de soigner mon français

    alors je peux trouver une fonction de délai avec TIMER chez vous? pour débuter

  23. #22
    invite71a6c60d

    Re : délai avec stm32

    vu le nombre de timer que tu as dans le stm32 que tu as tu peut faire ca:
    Code:
    void delay(void)
    {
         Timer2_Delay_Finished = 1;
    
         timer2Cmd(ENABLE);
         
         while(Timer2_Delay_Finished);
    
    }

    Code:
    void Timer2Interrupt(void)
    {
          Timer2_Delay_Finished = 0;
          
         ClearITflag(Timer2Update);
    
    }

  24. #23
    polo974

    Re : délai avec stm32

    Citation Envoyé par mmm999 Voir le message
    non daudet pas de passage par timer, je veux une solution software
    Pour un os... ouiiiiii...

    On se demande à quoi peu bien servir un timer dans un micro-contrôleur...

    cours d'électronique:
    loi 1: "le fil rouge sur le bouton rouge, le fil vert sur le bouton vert"
    loi 2: "il est interdit de faire des tempos avec des boucles logicielles vides (sauf trrrrrès rares exceptions)"
    loi 3: "loi d'ohm: U=R*I"

    Citation Envoyé par ftorama Voir le message
    ...
    Parce que tu ne maîtrises pas le micro, que tu n'as pas ouvert les exemples les plus basiques et que tu as surement à peine survolé le User manual...c'est bête hein, faut bosser
    Je tiens à préciser que j'ai très facilement trouvé de la doc stm32 qui ne soit pas en chinois.
    ...
    Tu devrais franchement arrêter là, reprendre les bases avant de te couvrir totalement de ridicule.
    ...
    Trop tard... Le timer est tombé (depuis longtemps).
    Jusqu'ici tout va bien...

  25. #24
    mmm999

    Re : délai avec stm32

    sa pas fonctionner hulk69

  26. #25
    invitef26bdcba

    Re : délai avec stm32

    Salut,

    On en est à 25 réponses et la solution la plus adéquate est en #6; et tu n'y as même pas prêté attention :

    Citation Envoyé par ftorama Voir le message
    Je dirais même plus, tu utilises le Systick Timer...
    David.

  27. #26
    mmm999

    Re : délai avec stm32

    merci POLO merci DAVID !
    ici pour proposer des solutions et d'apprendre

  28. #27
    polo974

    Re : délai avec stm32

    Citation Envoyé par polo974 Voir le message
    ...
    Je tiens à préciser que j'ai très facilement trouvé de la doc stm32 qui ne soit pas en chinois.
    ....
    Citation Envoyé par mmm999 Voir le message
    merci POLO merci DAVID !
    ici pour proposer des solutions et d'apprendre
    Au lieu de critiquer les critiques, as-tu lu les docs et les exemples qu'on trouve sans problème sur le site de st (et ailleurs) ? ? ?

    fait une recherche sur AN4013 stm32...

    bon, si tu ne trouves pas regarde ici.

    il y a aussi tout un dossier de code sample relatifs au timer dans ce que donne st.
    qu'as-tu seulement déjà lu de tout ça ? ? ?

    ici, on veut bien un peu aider à condition qu'il y a un travail visible de la part du demandeur.
    Jusqu'ici tout va bien...

  29. #28
    mmm999

    Exclamation Re : délai avec stm32

    non polo je suis désolé je suis pas entrain de critiquer !
    je veux dire que grâce a vous, chères les membres, qu'on sort de plein de truc et d'astuce
    je suis vraiment désolé pour l'incompréhension.
    j'appris un lesson de vous que lieu d'utiliser les pertes de temps par processeur on utilise les timers car celui ci ils ont immunité contre les interruptions

  30. #29
    mmm999

    Exclamation Re : délai avec stm32

    j'essayer le timer
    c'était simple par rapport le PIC (au moins on n'est pas besoin de calcul pour crée 1 second ).
    voila un bout de code
    RCC_APB1PeriphClockCmd(RCC_APB 1Periph_TIM2, ENABLE);
    TIM_TimeBaseStructure.TIM_Peri od = 1000000;
    TIM_TimeBaseStructure.TIM_Pres caler = 16;
    TIM_TimeBaseStructure.TIM_Cloc kDivision = 0;
    TIM_TimeBaseStructure.TIM_Coun terMode = TIM_CounterMode_Up;
    TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
    TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
    le but de ce code et de faire un délai d'une second. le problème que j'avais tourner mon oscillateur interne à 168Mhz. théoriquement je doit mettre TIM_Prescaler = 168 . pour y'avoir 1 Mhz dans la bouche de timer pour je passe le preload period 1 000 000 pour compter 1M impulsions comme j'aurais le 1 second. ce qui je doit le faire sa pas marcher. pour y'avoire le 1 Mhz j'ai mis TIM_Prescaler = 16 . est ce que mon horloge interne tourne à 16 Mhz ou quoi?

  31. #30
    invited3dcf66c

    Re : délai avec stm32

    Salut,
    Simple question... Est-ce que tu as configuré l'horloge pour qu'il tourne à 168MHz?
    Sinon, tu tournes par défaut sur l'oscillateur interne qui est effectivement à 16MHz.
    Bon courage.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Commander un gyrometre avec microcontrolleur STM32
    Par inviteabf616ac dans le forum Électronique
    Réponses: 4
    Dernier message: 18/04/2013, 16h18
  2. Comparateur avec STM32
    Par invitebe2a9ce7 dans le forum Électronique
    Réponses: 12
    Dernier message: 02/04/2012, 16h04
  3. stm32
    Par invite2a8e3215 dans le forum Électronique
    Réponses: 3
    Dernier message: 10/12/2011, 09h30
  4. microcontroleur STM32
    Par invite74b5b8f7 dans le forum Électronique
    Réponses: 8
    Dernier message: 12/07/2011, 16h11
  5. stm32
    Par invite2f7b8032 dans le forum Électronique
    Réponses: 2
    Dernier message: 11/03/2011, 10h38
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...