Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Timer0 avec MikroC
mazertoc
Passioné
Passioné
Messages : 201
Enregistré en : juillet 2015
Localisation : Auvernha

#11 Message par mazertoc » jeu. 20 août 2015 17:34

C'est même normal !
Pour le reste, ben, moi c'est assembleur !

Timer0 avec MikroC
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#12 Message par Jérémy » jeu. 20 août 2015 20:19

Oui , en espérant que quelqu'un d'habituer à MikroC apparaisse !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Timer0 avec MikroC
mazertoc
Passioné
Passioné
Messages : 201
Enregistré en : juillet 2015
Localisation : Auvernha

#13 Message par mazertoc » jeu. 20 août 2015 20:58

Jérémy a écrit :Oui c'est exact, c'est pour cela que 128 ųS,me paraissent pas anormale.

Quand je disais très long, je voulais dire qu'il n'y avait pas de problème de temps dans l'exécution du code !

Timer0 avec MikroC
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#14 Message par paulfjujo » lun. 24 août 2015 12:41

Bonjour,


128µS , ce n'est que pour 1 tour du timer ...


Pour bien utiliser un timer , la 1ere chose est de bien definir quelle est la
frequence FOSC.. donc la duree d'un cycle MCU
Cela devient assez problematique avec les PIC 18F45xxx le 5 definissant qu'il a un port USB.
et donc plein de combinaison possibles pour FOSC .. avec la PLL et L'USB.

Sous mikroC, la config des bits (de config) est donc primordiale.
Cette config peut etre sauvegardee dans un fichier 18F45xx.cfgsch

Ensuite le timer0 ,en particulier, peut etre utilisé en mode 8 bits ou 16 bits..
Autant l'utiliser en mode 16 bits , ce qui donne une tres large possibilité de reglage.

On peut l'utiliser en mode pooling ...mais peut d'interret si on bloque 100% de la puissance MCU
pour faire une tempo.. autant la faire avec une boucle de comptage ..

Le mode INTERRUPT est le plus approprié pour utiliser les timers.
De preference , faire une initialisation detaillée du Timer0
pour mieux comprendre tous les paralmetres qui y sont associés.
La lecture de la D.S. du PIC est essentielle aussi !

Le HARDWARE du PIC doit etre prealablement initialisé.
et l'autorisation d'interruption faite au dernier moment .

Le timer 0 , à FOSC 8MHz peut permettre jusqu'à 8,3 sec de delai maxi et mini 1µS (+ quelques cycles..)
Pour faire des delais plus long , on peut rajouter un compteur qui va tester les debordement Timer ..
et donc maxima tempo ..presque infini

Il est preferable d'armer un flag dans l'interrupt Timerx
plutot que de faire le traitement à l'interieur de celle ci, surtout si le traitement risque d'etre
plus long que l'intervalle d'interruption..
pour des actions breve ex: basculer une led ( duree < 1µS) , aucune importance.

source MikroC
fichier excel
voir aussi sur le site Mikroe le programme :TimerCalculator.exe

18F_timer0.zip
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Timer0 avec MikroC
HULK28
Avatar de l’utilisateur
Amateur
Amateur
Messages : 106
Enregistré en : août 2015
Localisation : IdF

#15 Message par HULK28 » ven. 18 sept. 2015 03:05

Bonsoir,

j'avais posté sur Futura la procédure détaillée pour manipuler le timer0 en interruption, il suffit que tu reprennes point par point, à l'époque je t'avais dit que tu pouvais tout récupérer et le poster ici.
Paulfjujo a dit ce qu'il y avait à dire, si ça ne fonctionne toujours pas postes ton code complet qu'on puisse regarder de plus près.
Le mieux étant pour un problème donné de toujours poster un schéma, un code et de donner le max d'infos ça fait gagner du temps à tout le monde.
Il n'y a pas de différence de fonctionnement que ce soit en C ou en assembleur au passage, c'est même plus simple de le rédiger en assembleur quand on sait comment un PIC fonctionne.
Dans la pratique on écrit les fonctions bas niveau en assembleur et l'applicatif en C.
@+
"Pour la carotte, le lapin est la parfaite incarnation du mal" -Robert Shecley-


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 55 invités