yop,

>>> printf("%lu %u\n",(unsigned long)sec,(unsigned int)nbre_tours);
>>>
>>> en déclarant sec comme "seconds" et j'ai quand même un débordement sur
>>> 16bits.
>>>     
>> ça devrait marcher pourtant. Par défaut je mets "%ld" mais je pense que
>> c'est pareil. Sinon rebalance le code ;)
>>   
> Ci-joint.

Je vois pas l'erreur là. J'essayerai sur sur notre robot la semaine
prochaine parce que ça m'intrigue ;)

Essaye de regarder si un truc comme ça fonctionne :

long i=153548L;
printf("%ld\n", i);

Sinon, je pense pas que ce soit ça, mais dans le menuconfig, tu peux
choisir différents types de printf (dans generation options).

> Sinon, j'ai du mal à comprendre comment marche tout le bousin. Je
> voudrai utiliser le timer0 pour avoir un rapport cyclique variable sur
> OC0, est-ce que c'est possible de le faire tout en ayant le scheduler
> sur le même timer ?

Je pense que c'est possible... même si le module est pas vraiment prévu
pour.
Dans le cas où tu utilises le scheduler avec le timer0 (sans utiliser le
module hardware/timer), il va initialiser les registres de la manière
suivante :

        sbi(TIMSK, TOIE0);
        TCNT0 = 0;
        TCCR0 = SCHEDULER_CK;

En gros, tu dois pouvoir changer la valeur de TCCR0 après
l'initialisation du scheduler pour utiliser le mode PWM du timer 0, tout
en gardant l'interruption overflow, utilisée par le scheduler.

a+
Olivier



_______________________________________________
Avr-list mailing list
Avr-list@droids-corp.org
CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive
WIKI : http://wiki.droids-corp.org/index.php/Aversive
DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/
BUGZILLA : http://bugzilla.droids-corp.org
COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog

Répondre à