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

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
je rêve !
Tu te piques de développer un OS universelEt tu viens poser une question de ce niveau ?
Tu es un charlatan !
Ah oui quand même....j'ai répondu à l'autre discussion avant de venir ici....
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
Pour un délais d'une seconde, tu passes par un timer !
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...
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![]()
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
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?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);![]()
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.
non daudet pas de passage par timer, je veux une solution software
non pas une seconde bien sur ! ça va bloquer AYmos, mais pour quelque microsecond max 2 ms
??????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
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
partage votre expérience alors ! pas pour moi pour les autres![]()
