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) ; }
/****************************************************************************** * 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); }