Hello, Voici quelques pistes (je n'ai pas de quoi faire l'essai avant qqs jours).
- Dans scheduler_config.h, les deux valeurs suivantes doivent être cohérentes, par exemple : TIMER0_PRESCALER_DIV_32 et SCHEDULER_CLOCK_PRESCALER 32. Là il y a : #define SCHEDULER_CK TIMER0_PRESCALER_DIV_8 #define SCHEDULER_CLOCK_PRESCALER 32 /* must coherent with value above */ Je vais ajouter un exemple en commentaire pour être bien sûr que c'est clair. - Probablement rien à voir avec ton pb, mais tu ne dois pas avoir une version récente de avr-gcc, car le prototype de fdevopen() est passé de : fdevopen((int(*)(char))uart0_send, (int(*)(void))uart0_recv, 0); à : fdevopen(uart0_dev_send, uart0_dev_recv); - Le prototype de time_init() est (vous noterez la faute de frappe à given) : /** init time module : schedule the event with the givent priority */ void time_init(uint8_t priority); Le fait de mettre un priorité de 0 à cet évenement et 128 à l'évenement transmettre() (c'est la priorité par défaut) fait que l'évenement sera delayé tant que le plus prioritaire n'est pas terminé. Du coup ton horloge dérive très légèrement. Je verrais plus un time_init(200); Je dirais que d'une manière générale, les printf doivent aller dans les fonctions main() ou évenements à faible priorité. A noter que d'augmenter significativement la taille de la fifo d'émission dans l'uart devrait aussi permettre de résoudre le pb en rendant le printf bcp plus court. - Encore 2 choses qui n'ont probablement rien à voir : void transmettre(void) doit avoir comme prototype void transmettre(void * dummy), même si dummy n'est pas utilisé. Et time_get_s() retourne des 'seconds', qui est un uint32_t, donc le cast en (unsigned int) le transforme en 16 bits sur AVR, tu ne dépasseras donc pas 65536 secondes dans le printf()... attention par contre à la chaine de format "%ld" dans le cas d'un 32 bits. Vala, tiens moi au courant si ça marche (ou pas). Oliv Fabien M wrote: >> Tu m'envoies par mail un tgz de ton projet ? >> Je peux jeter un coup d'oeil. >> >> Oliv >> >> > voilou > > FabM > > > ------------------------------------------------------------------------ > > _______________________________________________ > 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 _______________________________________________ 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