Page 1 of 1

PostPosted: Mon Aug 27, 2007 12:00 am
by gatsby94
J'ai ouvert une discussion là dessus déjà mais je suis coincé donc je préfère réouvrir un post pour que l'on puissse me répondre.
Voilà j'utilise l'uart1 9600 bauds quartz 14,7456MHZ.
J'utilise les interruptions pour la reception

voici mon code

/*-----------------------initialisation-UART1--------------------*/

void init_uart(void)
{
unsigned char dummy;
unsigned char lect;

u1mr = 0x05; /* pas de parité / 1 stop / clock interne / 8 bits*/
u1c0 = 0x08; /* LSB first, clock f1 (14,7456MHz)*/
u1brg = 0x5F; /* 9600 bauds (=[f1 /(16*9600)]-1)*/
u1c1 = 0x07; /* Reception et emission autorisées.*/
ucon = 0xB0;

asm ("fclr i");
s1ric = 0x01;
asm ("fset i");
lect = u1rbl;
dummy = u1rbh;
}


#pragma INTERRUPT reception_trame

void reception_trame(void)
{

unsigned char dummy;
tab_reception_emission[pointeur_trame] = u1rbl;

dummy = u1rbh;
re_u1c1 = 1;
pointeur_trame ++;
temp_fin_trame = 50000;
flag_reception = 1;



}

;---------------------------------------------------------------
; variable vector section
;---------------------------------------------------------------
.section vector,ROMDATA ; variable vector table
.org VECTOR_ADR

.glb _reception_trame

.lword dummy_int ; vector 0
.lword dummy_int ; vector 1
.lword dummy_int ; vector 2
.lword dummy_int ; vector 3
.lword dummy_int ; vector 4
.lword dummy_int ; vector 5
.lword dummy_int ; vector 6
.lword dummy_int ; vector 7
.lword dummy_int ; vector 8
.lword dummy_int ; vector 9
.lword dummy_int ; vector 10
.lword dummy_int ; vector 11
.lword dummy_int ; vector 12
.lword dummy_int ; vector 13
.lword dummy_int ; vector 14
.lword dummy_int ; vector 15
.lword dummy_int ; vector 16
.lword dummy_int ; vector 17
.lword dummy_int ; vector 18
.lword dummy_int ; vector 19
.lword _reception_trame ; vector 20
.lword dummy_int ; vector 21
.lword dummy_int ; vector 22


LE fait est que je rentre en permanence dans la routine d'interruption de reception et je ne comprends pas pourquoi ?

une idée ?

PostPosted: Mon Aug 27, 2007 12:00 am
by sda
Salut,
bon ok, mon aide ne t'as pas été utile vendredi dernier mais si tu es d'accord je peux encore chercher d'où vient ton problème...
En voulant essayer ton code sur une petite carte d'essai fournie par Renesas, j'ai créé un nouveau workspace (sous HEW) et à la seconde fenêtre de paramètre, j'ai la possibilité de cocher une case "Use standard I/O Library (UART1)".
Il me semble que si tu ne coche pas cette case, alors l'UART1 est dédié au débugage, peut-être quelqu'un pourrait t'il confirmer cette piste?
Peux tu essayer de cabler ton montage sur l'UART0 (l'init change un peu mais juste des 1 à mettre à 0 comme u1c0 qui devient u0c0).

SDA

PostPosted: Mon Aug 27, 2007 12:00 am
by gatsby94
je ne suis pas sur une carte d'essai et je dois absolument utiliser l'UART1. et jen'ai rien de cabler sur les pins de l'UART0. la com de programmation se fait par les pins 3 et 8 (/reset et mode).

PostPosted: Mon Aug 27, 2007 12:00 am
by tolen
Bonjour,
Plusieurs pistes possibles gatsby94:
1- Si tu debuggues via un E8 il faut savoir que l'UART1 est monopolisé pendant le debug et il est donc normal que tu partes en IT car le E8 envoie constament des trames.

2- Si tu n'utilises pas le debuggueur E8 alors c'est que ton niveau d'entrée n'est pas bon et que le micro detecte le START constamment.

Bonne continuation.

PostPosted: Mon Aug 27, 2007 12:00 am
by gatsby94
OUI JE DEBUGGUE VIA UN E8 !!
donc ça veut dire que les entrée mode et /reset utilise l'uart1 c ça?

COmment vais je faire pour debugger alors?
Vous avez une idée?

PostPosted: Mon Aug 27, 2007 12:00 am
by tolen
En fait la logique interne de l'UART1 est monopolisée en mode debug, pas les pin qui elles restent libres.
C'est une limitation connue du E8 les façons de contourner sont :
- investissement sur un compact emulateur R8C (valide pour les societés qui ont 1500 euros environ a investir).
- Debug en mode "aveugle" pour la partie qui concerne l'UART1 (flashage du code et test).
Certaines personnes se developpent des petites routines d'emission de caracteres pour tracer leur code.

Désolé mais je vois pas mieux.

PostPosted: Mon Aug 27, 2007 12:00 am
by gatsby94
pour info voici ma configuration en pièce jointe

PostPosted: Mon Aug 27, 2007 12:00 am
by gatsby94
ok ben on va debugger à l'aveugle .
merci à tous