예제 #1
0
void ConfigureOutputPorts(void)
{
   bool err = true;

   // Configure the LED pins (LED0-LED3) as outputs
   err &= R_IO_PORT_Set
      (
         PDL_IO_PORT_1_4|PDL_IO_PORT_1_5|PDL_IO_PORT_1_6|PDL_IO_PORT_1_7,
         PDL_IO_PORT_OUTPUT
         );

   // Set LED pin outputs as high (all LEDs off)
   err &= R_IO_PORT_Write
      (
         PDL_IO_PORT_1_4|PDL_IO_PORT_1_5|PDL_IO_PORT_1_6|PDL_IO_PORT_1_7,
         1
         );

   // Configure the debug LCD data pins (DLCD7-DLCD4) as outputs
   err &= R_IO_PORT_Set
      (
         PDL_IO_PORT_H_0|PDL_IO_PORT_H_1|PDL_IO_PORT_H_2|
         PDL_IO_PORT_H_3,
         PDL_IO_PORT_OUTPUT
         );

   // Set debug LCD data pin (DLCD7-DLCD4) outputs as low
   err &= R_IO_PORT_Write
      (
         PDL_IO_PORT_H_0|PDL_IO_PORT_H_1|PDL_IO_PORT_H_2|
         PDL_IO_PORT_H_3,
         0
         );

   // Configure the debug LCD control pin (DLCDRS) and enable pin (DLCDE) as output
   err &= R_IO_PORT_Set
      (
         PDL_IO_PORT_J_1|PDL_IO_PORT_J_3,
         PDL_IO_PORT_OUTPUT
         );

   // Set the debug LCD control pin (DLCDRS) and enable pin (DLCDE) as output low
   err &= R_IO_PORT_Write
      (
         PDL_IO_PORT_J_1|PDL_IO_PORT_J_3,
         0
         );

   while(!err)
      ;
}
예제 #2
0
/******************************************************************************
* Outline       : ConfigureOutputPorts
* Description   : Configures the port and pin direction settings, and sets the
*                 pin outputs to a safe level.
* Argument      : none
* Return value  : none
******************************************************************************/
void ConfigureOutputPorts(void)
{
    /* Declare error flag */
    bool err = true;

    /* Port 0 - all inputs (IRQ's from ethernet & WiFi) */
    /* Port 1 - all inputs (IIC and USB settings will override these later */

    /* Port 2 - USB signals */
    err &= R_IO_PORT_Set
           (
           USB0_EXICEN | USB_DPUPEA | USB_VBUSEN,
           PDL_IO_PORT_OUTPUT
           );

    /* Port 3 - JTAG (P30, P31, P34), CAN (P32=Tx, P33=Rx), NMI (P35) */
    err &= R_IO_PORT_Set
           (
           CAN_WIFI_TX,
           PDL_IO_PORT_OUTPUT
           );

    /* Port 4 - Switches (P40-P42), AIN (P43-P47)  */
    err &= R_IO_PORT_Set
           (
           SW1 | SW2 | SW3 | JN1_AN3 | 
           POTENTIOMETER | MICROPHONE | AUDIO_IN_R | PWMLP_IN,
           PDL_IO_PORT_INPUT | PDL_IO_PORT_INPUT_BUFFER_ON
           );

    /* Port 5 - Audio (P55,P54), BCLK (P53), SCI (P52=Rx, P50=Tx), LCD-RS (P51) */
    err &= R_IO_PORT_Set
           (
           LCD_RS | LCD_A0 | BCLK | PWMLP_OUT | AMP_SHDN,
           PDL_IO_PORT_OUTPUT
           );

    /* Port A outputs all LOW to start  */
    err &= R_IO_PORT_Write
           (
           PDL_IO_PORT_A,
           0
           );

    /* Port A - Expansion (PA0-PA2), Ether (PA3-PA5), Audio (PA6-PA7) */
    err &= R_IO_PORT_Set
           (
           JN2_SSLA1_B | JN2_SSLA2_B | JN2_SSLA3_B | ETH_MDIO | 
           ETH_MDC     | ETH_LINK    | AUDIO_OUT_R | AUDIO_OUT_L ,
           PDL_IO_PORT_OUTPUT
           );

    /* Port B outputs all LOW to start  */
    err &= R_IO_PORT_Write
           (
           PDL_IO_PORT_B,
           0
           );

    /* Port B - Ether */
    err &= R_IO_PORT_Set
           (
           RMII_TX_EN | RMII_TXD0 | RMII_TXD1,
           PDL_IO_PORT_OUTPUT
           );

    /* Port C - Chip selects, clock = high; IO reset = low */
    err &= R_IO_PORT_Write 
           (
           PDL_IO_PORT_C,
           0xF7
           );

    /* Port C - SPI (PC0-2, PC4-7), IO reset (PC3) */
    err &= R_IO_PORT_Set
           (
           FLASH_CS   | WIFI_CS     | LCD_CS | LCD_RESET |
           SDMICRO_CS | RSPI_SCLOCK | RSPI_MOSI,
           PDL_IO_PORT_OUTPUT
           );

    /* Port D - All LED's off */
    err &= R_IO_PORT_Write 
           (
           PDL_IO_PORT_D, 
           0xFF
           );

    /* Port D - LED's */
    err &= R_IO_PORT_Set
           (
           LED14 | LED10 | LED6  | LED12 |
           LED8  | LED4  | LED15 | LED11,
           PDL_IO_PORT_OUTPUT
           );

    /* Port E - All LED's off */
    err &= R_IO_PORT_Write
           (
           PDL_IO_PORT_E,
           0x0F
           );

    /* Port E - LED's */
    err &= R_IO_PORT_Set
           (
           LED7 | LED13 | LED9 | LED5,
           PDL_IO_PORT_OUTPUT
           );

    /* Halt in while loop when RPDL errors detected */    
    while (!err);
}