Renesas Asynchronous SH7145F Uživatelský manuál Strana 14

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 16
  • Tabulka s obsahem
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků
Zobrazit stránku 13
SH7145F
Synchronous Serial Data Transmission
REJ06B0352-0100O/Rev.1.00 March 2004 Page 14 of 16
while(1); /* LOOP */
}
/**************************************************************
Function : init_sci
Operation : Initialize serial (sci0)
sci0 : Synchronous transmit operation
**************************************************************/
void init_sci(void)
{
unsigned long i;
P_STBY.MSTCR1.BIT.MSTP16 = 0; /* disable SCI0 standby mode */
/* Initialize SCI */
P_SCI0.SCR_0.BYTE &= 0x03; /* clear TIE,RIE,TE,RE,MPIE,TEIE */
P_SCI0.SCR_0.BIT.CKE = 0; /* clock:internal,SCK:output */
P_SCI0.SMR_0.BYTE = 0x80; /* Clock synchronous mode */
// CA = 1; /* Clock synchronous mode */
P_SCI0.BRR_0 = 24; /* 250kbps@25MHz(Peripheral) */
P_SCI0.SDCR_0.BIT.DIR = 0; /* LSB first send */
for( i=0; i < 0x0300 ; i++); /* Wait 1bit (over 4usec) */
/* Initialize SCI0 PORT */
P_PORTA.PACRL2.BIT.PA2MD = 1; /* set SCK0(PA2:132pin@SH7145) */
P_PORTA.PACRL2.BIT.PA1MD = 1; /* set TXD0(PA1:131pin@SH7145) */
P_PORTA.PAIORL.BIT.PA2IOR = 1; /* SCK0 Output */
P_SCI0.SCR_0.BIT.TE = 1; /* TE=1,Transmit Enable(SCI0) */
}
/************************************************************************/
/* Function : trans_sci */
/* Operation : Write 1 character to serial output */
/* Argument : c */
/* Value returned : None */
/************************************************************************/
void trans_sci(char c )
{
while(!(P_SCI0.SSR_0.BYTE & 0x80)); /* Wait until data can be written to TDR */
P_SCI0.TDR_0 = (unsigned char)c; /* Write data to TDR */
P_SCI0.SSR_0.BYTE &= 0x7F; /* Clear flag, transmit */
}
Zobrazit stránku 13
1 2 ... 9 10 11 12 13 14 15 16

Komentáře k této Příručce

Žádné komentáře