hmmm j'ai pas trop d'idée là comme ça...

je pensais d'abord à un dépassement de pile : le uC a
1024 octets de RAM et 128 sont utilisés pour les fifo
d'émission / réception. Celà dit s'il n'y a que ça
comme code, je n'y crois pas trop.

Que se passe-t-il exactement lorsque tu émets ? Est-ce
que tu vois quelques caractères sortir avant le reset ?
Est-ce que tu peux reproduire le problème en émettant
juste un seul caractère ?

J'ai testé le module UART sur atmega8, 32, 128 et 2560.
Il se peut que ça déconne sur un 168... Jette à tout
hasard un coup d'oeil aux valeurs des vecteurs
d'interruptions dans iom168.h. Tu peux aussi essayer
de configurer l'uart à la main, et comparer les valeurs
des registres. Il est possible qu'il y ait un bug dans
le module...

Oliv

Antoine albertelli wrote:
> le voilà :
> 
> 
> #ifndef UART_CONFIG_H
> #define UART_CONFIG_H
> 
> /*
>  * UART0 definitions
>  */
> 
> /* compile uart0 fonctions, undefine it to pass compilation */
> #define UART0_COMPILE 
> 
> /* enable uart0 if == 1, disable if == 0 */
> #define UART0_ENABLED  1
> 
> /* enable uart0 interrupts if == 1, disable if == 0 */
> #define UART0_INTERRUPT_ENABLED  1
> 
> #define UART0_BAUDRATE 38400
> 
> /*
>  * if you enable this, the maximum baudrate you can reach is
>  * higher, but the precision is lower.
>  */
> #define UART0_USE_DOUBLE_SPEED 0
> //#define UART0_USE_DOUBLE_SPEED 1
> 
> #define UART0_RX_FIFO_SIZE 64
> #define UART0_TX_FIFO_SIZE 64
> //#define UART0_NBITS 5
> //#define UART0_NBITS 6
> //#define UART0_NBITS 7
> #define UART0_NBITS 8
> //#define UART0_NBITS 9
> 
> #define UART0_PARITY UART_PARTITY_NONE
> //#define UART0_PARITY UART_PARTITY_ODD
> //#define UART0_PARITY UART_PARTITY_EVEN
> 
> #define UART0_STOP_BIT UART_STOP_BITS_1
> //#define UART0_STOP_BIT UART_STOP_BITS_2
> 
> 
> 
> 
> /* .... same for uart 1, 2, 3 ... */
> 
> 
> Le 26 mai 2009 22:21, Olivier MATZ <z...@droids-corp.org
> <mailto:z...@droids-corp.org>> a écrit :
> 
>     Salut Antoine,
> 
>     Tu pourrais envoyer ton fichier uart_config.h aussi ?
> 
>     Olivier
> 
>     Antoine albertelli wrote:
>     > Hello,
>     > Voilà, j'ai faits quelques tests du module UART de Aversive, et
>     j'ai des
>     > petits bugs. Tant que je n'active pas les interrupts, tout va très
>     bien.
>     > Mais dés que je mets un sei() pour utiliser le scheduler, le
>     module UART
>     > déclenche ce que je pense être un reset du processeur... une idée ?
>     > Merci pour votre attention
>     >
>     > Antoine
>     >
>     > P.S. : Je travaille sur Atmega168, et voici mon code (tiré en grande
>     > partie du code microb 2009) :
>     >
>     > int main(void) {
>     >
>     > sbi(DDRB,5);
>     > /* Met la LED en sortie. */
>     >
>     >     uart_init();
>     >     fdevopen(uart0_dev_send, NULL);
>     >     sei();  /* BUG. */
>     >     for(counter = 0;counter < 5;counter++) { // chenillard pour le
>     reset
>     >         BIT_TOGGLE(PORTB,5);
>     >         wait_ms(500);
>     >     }
>     >     for(;;) printf_P(PSTR("Dass das Gluck deinen Haus setzt.\r\n"));
>     >     return 0;
>     > }
>     >
>     >
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Avr-list mailing list
>     > Avr-list@droids-corp.org <mailto: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 <mailto: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


_______________________________________________
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 à