Uart 0 du R32C

Postby jmltech » Thu Jul 16, 2009 12:00 am

Bonjour,
Je suis en train de migrer une application du R8C vers le R32C.
J'éprouve des difficultés à programmer l'uart 0 (en mode scrutation), impossible d'emettre la moindre valeur.
Quelqu'un a-t-il une expérience la dessus ? un petit bout de code de la partie initialisation de l'uart serait la bienvenue.
Merci d'avance.
JML
jmltech
 
Posts: 13
Joined: Fri Jan 17, 2014 4:37 pm

Postby caval » Fri Jul 17, 2009 12:00 am

bonjour
je suis en train d'experimenter uart 1 en mode async, et je prefere le programmer cette parti en assembleur vue qu'il n'y a peu de doc sur la commande printf en C , j'ai commence a avoir un petit résultat en mode simulation.
je vous tien au courant des avancé
caval
 
Posts: 5
Joined: Fri Jan 17, 2014 4:38 pm

Postby laulau » Fri Jul 17, 2009 12:00 am

bonjour
Voici du code :

a bientot

LOLO


/*****************************************************************************
Name : uart1_init
Parameters : None
Returns : None
Description: Uart1 initialization - 19200 baud, 8 data bits, 1 stop bit, no parity.
*****************************************************************************/
void uart1_init(void)
{
/* set UART1 bit rate generator */
u1brg = BAUD_19200;

/* 00000101 8 bit mode, internal clock, one stop, no parity, no polarity inversion
b2:b0SMD2:0 SELECTS UART MODE, 8 BIT DATA TRANSFER
b3CKDIR INTERNAL CLOCK SELECTED
b4STPS ONE STOP BIT
b5PRY ODD PARITY (parity is disabled using b6)
b6PRYEDISABLE PARITY
b7IOPOLTRANSMITTER RECEIVER OUTPUT NOT INVERSED */
u1mr = 0x05;

/* 00010000 MSB first, n channel output, CTS/RTS disabled, f1 clock source
b1:b0CLK1:0COUNT SOURCE f1=32MHz
b2CRS CTS RTS ENABLED WHEN CRD=0
b3TXEPTTRANSMIT REGISTER EMPTY FLAG
b4CRDCTS/RTS FUNCTION DISABLED
b5NCH DATA OUTPUT SELECT BIT
b6CKPOLCLOCK POLARITY SELECTED,TX FALLING EDGE,RX RISING EDGE
b7UFORMMSB FIRST */
u1c0 = 0x10;

/* clear UART1 receive buffer by reading then clear UART1 transmit buffer */
u1tb = u1rb;
u1tb = 0;

/* disable irqs before setting interrupt registers then set priority level to 3 which
also enables interrupt */
DISABLE_IRQ;
s1ric = 0x03;
ENABLE_IRQ;

/* pin settings for making pin p6_7 as transmitter pin of Uart 1 */
p6_7s = 3;
pd6_7 = 1;

/* pin settings for making pin p6_2 as receiver pin of Uart 1 */
p6_6s = 0x03;
pd6_6 = 0;

/* 00000101UART1 transmit/receive control register 1
b0TETransmit Enable Bit
b1 TITransmit buffer empty flag,
b2 REReceive enable bit,
b3 RIReceive complete flag,
b5:b4Reserved, set to 0
b6U1LCHData logic select bit,
b7U1EREError signal output enable bit, */
u1c1 = 0x05; //0000 0101
}

/******************************************************
laulau
 
Posts: 8
Joined: Fri Jan 17, 2014 4:36 pm

Postby jmltech » Sun Jul 19, 2009 12:00 am

Bonjour,
Tout fonctionne maintenant, il me manquait simplement la valeur 3 dans le spécial register. J'ai lu et relu la partie doc concernant l'uart en mode asyncrone et nulle part ils ne font allusion au paramétrage du port. J'aurais du élargir un peu plus mes recherches ...
Un grand merci à toi,
JML
jmltech
 
Posts: 13
Joined: Fri Jan 17, 2014 4:37 pm

Postby bouzouki » Sat Sep 12, 2009 12:00 am

Bonjour,
Je ne trouve pas dans la doc, le "Pin assignment" ds la version 64Pins. Je ne trouve que la version correspondante au boitier 100. Où peut on trouver cela?

Je cherche plus particulierement les broches des UARTs

Merci
JMR
bouzouki
 
Posts: 12
Joined: Fri Jan 03, 2014 1:48 pm

Postby jmltech » Sat Sep 12, 2009 12:00 am

Bonjour,
Tourne quelques pages du "R32C/111 Group
Hardware Manual" et tu trouveras la réponse (P22-23)
JML
jmltech
 
Posts: 13
Joined: Fri Jan 17, 2014 4:37 pm

Postby bouzouki » Sat Sep 12, 2009 12:00 am

Boujour!
Je connais ce document, mais le "Pin Assignments" correspond au boitier PLQP100 or, sur le module de Glyn, nous avons un 64 Pins. Je ne trouve pas ds le document, le tableau pour ce boitier.

En me basant sur le tableau dont tu parles (qui dit que RXD0 correspond P6-2 et TXD0 à P6-3) et au schéma Elektor (qui dit que P6-3 est en 33 et P6-2 a 34), j'en ai déduit que TXD0 était en 33 et RXD0 en 34. As-tu cela aussi?

Merci
J.M.
bouzouki
 
Posts: 12
Joined: Fri Jan 03, 2014 1:48 pm

Postby ymasquel » Sat Sep 12, 2009 12:00 am

Bonjour "J.M.",

En règle générale, chez RENESAS, les affectations multiples sont faites en utilisant les références de ports ce qui simplifie les choses en passant d'un boîtier à l'autre.

Ceci permet d'avoir une quasi certitude que le module UART0 utilise les ports P6.2 pour RXD0 et P6.3 pour TXD0. Ensuite il suffit de repérer les broches physiques qui correspondent à ces ports, ici ce sont respectivement les broches 34 et 33. A mon avis tu peux y aller les yeux ouverts car fermés il serait plus difficile de repérer les bonnes broches.

Mais il est dommage que le boîtier à 64 broches ne figure pas dans la documentation tout comme il est curieux de voir que ce contrôleur est libellé "under development" sur le site de RENESAS.

Amicalement, Yves.
Amicalement,
Yves.
ymasquel
Site Admin
 
Posts: 3362
Joined: Thu Jan 02, 2014 10:44 am
Location: Oise (60)

Postby jmltech » Sun Sep 13, 2009 12:00 am

Bonjour,
Erreur de ma part, la page que je désignais est P38-39 (et pas 22-23) "Table 1.13 Pin Characteristics for the 64-pin Package (1/2)" ou je lis que :
pin 33 P6_3 TXD0/SDA0/SRXD0
pin 34 P6_2 TB2IN RXD0/SCL0/STXD0
JML
jmltech
 
Posts: 13
Joined: Fri Jan 17, 2014 4:37 pm

Postby bouzouki » Fri Sep 18, 2009 12:00 am

Bonjour,
Je viens de comprendre. Le document "R32C/111 Group Hardware Manual" que j'utilise et qui provient du site de Renesas, est différent de celui du CD de Glyn. Effectivement ds celui de Glyn, la description du boitier 64 est présente et l'on trouve bien la description des broches.
Merci de vos conseils
J.M.
bouzouki
 
Posts: 12
Joined: Fri Jan 03, 2014 1:48 pm

Next

Return to R8C/13 (01-2006)

Who is online

Users browsing this forum: No registered users and 1 guest