[Avr-list] uart0_send et buffers
Salut, Nous essayons actuellement d'implémenter une communication série full-duplex sur ATmega. Pour se faire on utilise le module uart d'aversive, deux buffers sur TX / RX et un port pour la direction. Toutefois on se confronte à un petit problème, les données ne semblent pas envoyées directement après l'appel d'uart0_send. Je crois savoir que l'ATmega possède un buffer sur l'envoi. D'où la question : - Peut-on, en utilisant le module UART, forcer l'envoi du buffer ? Donc voilà, je prend toutes bonnes idées :) JD. (et ~salva qui se cache, le faible) ___ 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
Re: [Avr-list] uart0_send et buffers
Yop, Pour se faire on utilise le module uart d'aversive, deux buffers sur TX / RX et un port pour la direction. Qu'entends-tu par un port pour la direction ? Toutefois on se confronte à un petit problème, les données ne semblent pas envoyées directement après l'appel d'uart0_send. Je crois savoir que l'ATmega possède un buffer sur l'envoi. En fait il n'est pas hardware, mais soft. Le buffer d'envoi de l'ATmega en hard fait un octet. D'où la question : - Peut-on, en utilisant le module UART, forcer l'envoi du buffer ? si tu as les interruptions masquées et que tu as configuré l'uart en mode interruption, effectivement certaines données restent dans le buffer. Celà dit une fonction de flush serait la bienvenue (c'est d'ailleurs prévu : http://bugzilla.droids-corp.org/cgi-bin/bugzilla/show_bug.cgi?id=71 ) ++ 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
Re: [Avr-list] uart0_send et buffers
2008/1/24 Olivier MATZ [EMAIL PROTECTED]: Yop, Pour se faire on utilise le module uart d'aversive, deux buffers sur TX / RX et un port pour la direction. Qu'entends-tu par un port pour la direction ? Un PIN en fait... pas un port complet :P Relié à deux buffer pour brancher soit TX soit RX sur la ligne de communication full-duplex. Toutefois on se confronte à un petit problème, les données ne semblent pas envoyées directement après l'appel d'uart0_send. Je crois savoir que l'ATmega possède un buffer sur l'envoi. En fait il n'est pas hardware, mais soft. Le buffer d'envoi de l'ATmega en hard fait un octet. Ah okay ;) donc j'avais pas tout pigé moi. D'où la question : - Peut-on, en utilisant le module UART, forcer l'envoi du buffer ? si tu as les interruptions masquées et que tu as configuré l'uart en mode interruption, effectivement certaines données restent dans le buffer. Celà dit une fonction de flush serait la bienvenue (c'est d'ailleurs prévu : http://bugzilla.droids-corp.org/cgi-bin/bugzilla/show_bug.cgi?id=71 ) Okay j'vais voir ce que je peux faire. m'ci bien. JD. ___ 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
Re: [Avr-list] uart0_send et buffers
JD a écrit : 2008/1/24 Olivier MATZ [EMAIL PROTECTED]: Yop, . Pour se faire on utilise le module uart d'aversive, deux buffers sur TX / RX et un port pour la direction. Qu'entends-tu par un port pour la direction ? Un PIN en fait... pas un port complet :P Relié à deux buffer pour brancher soit TX soit RX sur la ligne de communication full-duplex. normalement on n'utilise pas un pin pour commuter, mais on utilise un bus avec un etat recessif. En plus ya plein de drivers pour ca. et des protocoles en plus. des pistes : ISO9141 K-line MS33199 (vieillot, ya mieux) ... tof ___ 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