This is a part of the Kinetiszer project.
board.c@0:e0042c0c4d2d, 2014-10-28 (annotated)
- Committer:
- Clemo
- Date:
- Tue Oct 28 12:20:47 2014 +0000
- Revision:
- 0:e0042c0c4d2d
Error & warning free.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Clemo | 0:e0042c0c4d2d | 1 | /* |
Clemo | 0:e0042c0c4d2d | 2 | * @brief LPCXpresso 1347 board file |
Clemo | 0:e0042c0c4d2d | 3 | * |
Clemo | 0:e0042c0c4d2d | 4 | * @note |
Clemo | 0:e0042c0c4d2d | 5 | * Copyright(C) NXP Semiconductors, 2013 |
Clemo | 0:e0042c0c4d2d | 6 | * All rights reserved. |
Clemo | 0:e0042c0c4d2d | 7 | * |
Clemo | 0:e0042c0c4d2d | 8 | * @par |
Clemo | 0:e0042c0c4d2d | 9 | * Software that is described herein is for illustrative purposes only |
Clemo | 0:e0042c0c4d2d | 10 | * which provides customers with programming information regarding the |
Clemo | 0:e0042c0c4d2d | 11 | * LPC products. This software is supplied "AS IS" without any warranties of |
Clemo | 0:e0042c0c4d2d | 12 | * any kind, and NXP Semiconductors and its licensor disclaim any and |
Clemo | 0:e0042c0c4d2d | 13 | * all warranties, express or implied, including all implied warranties of |
Clemo | 0:e0042c0c4d2d | 14 | * merchantability, fitness for a particular purpose and non-infringement of |
Clemo | 0:e0042c0c4d2d | 15 | * intellectual property rights. NXP Semiconductors assumes no responsibility |
Clemo | 0:e0042c0c4d2d | 16 | * or liability for the use of the software, conveys no license or rights under any |
Clemo | 0:e0042c0c4d2d | 17 | * patent, copyright, mask work right, or any other intellectual property rights in |
Clemo | 0:e0042c0c4d2d | 18 | * or to any products. NXP Semiconductors reserves the right to make changes |
Clemo | 0:e0042c0c4d2d | 19 | * in the software without notification. NXP Semiconductors also makes no |
Clemo | 0:e0042c0c4d2d | 20 | * representation or warranty that such application will be suitable for the |
Clemo | 0:e0042c0c4d2d | 21 | * specified use without further testing or modification. |
Clemo | 0:e0042c0c4d2d | 22 | * |
Clemo | 0:e0042c0c4d2d | 23 | * @par |
Clemo | 0:e0042c0c4d2d | 24 | * Permission to use, copy, modify, and distribute this software and its |
Clemo | 0:e0042c0c4d2d | 25 | * documentation is hereby granted, under NXP Semiconductors' and its |
Clemo | 0:e0042c0c4d2d | 26 | * licensor's relevant copyrights in the software, without fee, provided that it |
Clemo | 0:e0042c0c4d2d | 27 | * is used in conjunction with NXP Semiconductors microcontrollers. This |
Clemo | 0:e0042c0c4d2d | 28 | * copyright, permission, and disclaimer notice must appear in all copies of |
Clemo | 0:e0042c0c4d2d | 29 | * this code. |
Clemo | 0:e0042c0c4d2d | 30 | */ |
Clemo | 0:e0042c0c4d2d | 31 | |
Clemo | 0:e0042c0c4d2d | 32 | #include "board.h" |
Clemo | 0:e0042c0c4d2d | 33 | //#include "retarget.h" |
Clemo | 0:e0042c0c4d2d | 34 | |
Clemo | 0:e0042c0c4d2d | 35 | /***************************************************************************** |
Clemo | 0:e0042c0c4d2d | 36 | * Private types/enumerations/variables |
Clemo | 0:e0042c0c4d2d | 37 | ****************************************************************************/ |
Clemo | 0:e0042c0c4d2d | 38 | |
Clemo | 0:e0042c0c4d2d | 39 | #if defined (BOARD_ELEKTOR_140182) |
Clemo | 0:e0042c0c4d2d | 40 | #define BUTTONS_BUTTON1_GPIO_PORT_NUM BOARD_KEYBOARD_ISP_PORT |
Clemo | 0:e0042c0c4d2d | 41 | #define BUTTONS_BUTTON1_GPIO_BIT_NUM BOARD_KEYBOARD_ISP_PIN |
Clemo | 0:e0042c0c4d2d | 42 | #else |
Clemo | 0:e0042c0c4d2d | 43 | #define BUTTONS_BUTTON1_GPIO_PORT_NUM 0 |
Clemo | 0:e0042c0c4d2d | 44 | #define BUTTONS_BUTTON1_GPIO_BIT_NUM 16 |
Clemo | 0:e0042c0c4d2d | 45 | #endif |
Clemo | 0:e0042c0c4d2d | 46 | |
Clemo | 0:e0042c0c4d2d | 47 | |
Clemo | 0:e0042c0c4d2d | 48 | /***************************************************************************** |
Clemo | 0:e0042c0c4d2d | 49 | * Public types/enumerations/variables |
Clemo | 0:e0042c0c4d2d | 50 | ****************************************************************************/ |
Clemo | 0:e0042c0c4d2d | 51 | |
Clemo | 0:e0042c0c4d2d | 52 | /***************************************************************************** |
Clemo | 0:e0042c0c4d2d | 53 | * Private functions |
Clemo | 0:e0042c0c4d2d | 54 | ****************************************************************************/ |
Clemo | 0:e0042c0c4d2d | 55 | |
Clemo | 0:e0042c0c4d2d | 56 | /* System oscillator rate and clock rate on the CLKIN pin */ |
Clemo | 0:e0042c0c4d2d | 57 | const uint32_t OscRateIn = 12000000; |
Clemo | 0:e0042c0c4d2d | 58 | const uint32_t ExtRateIn = 0; |
Clemo | 0:e0042c0c4d2d | 59 | |
Clemo | 0:e0042c0c4d2d | 60 | /***************************************************************************** |
Clemo | 0:e0042c0c4d2d | 61 | * Public functions |
Clemo | 0:e0042c0c4d2d | 62 | ****************************************************************************/ |
Clemo | 0:e0042c0c4d2d | 63 | |
Clemo | 0:e0042c0c4d2d | 64 | /* Initialize pin muxing for UART interface */ |
Clemo | 0:e0042c0c4d2d | 65 | void Board_UART_Init(void) |
Clemo | 0:e0042c0c4d2d | 66 | { |
Clemo | 0:e0042c0c4d2d | 67 | /* Pin Muxing has already been done during SystemInit */ |
Clemo | 0:e0042c0c4d2d | 68 | } |
Clemo | 0:e0042c0c4d2d | 69 | |
Clemo | 0:e0042c0c4d2d | 70 | /* Sends a character on the UART */ |
Clemo | 0:e0042c0c4d2d | 71 | void Board_UARTPutChar(char ch) |
Clemo | 0:e0042c0c4d2d | 72 | { |
Clemo | 0:e0042c0c4d2d | 73 | #if defined(DEBUG_ENABLE) |
Clemo | 0:e0042c0c4d2d | 74 | /* Wait for space in FIFO */ |
Clemo | 0:e0042c0c4d2d | 75 | while ((Chip_UART_ReadLineStatus(DEBUG_UART) & UART_LSR_THRE) == 0) {} |
Clemo | 0:e0042c0c4d2d | 76 | Chip_UART_SendByte(DEBUG_UART, (uint8_t) ch); |
Clemo | 0:e0042c0c4d2d | 77 | #endif |
Clemo | 0:e0042c0c4d2d | 78 | } |
Clemo | 0:e0042c0c4d2d | 79 | |
Clemo | 0:e0042c0c4d2d | 80 | /* Gets a character from the UART, returns EOF if no character is ready */ |
Clemo | 0:e0042c0c4d2d | 81 | int Board_UARTGetChar(void) |
Clemo | 0:e0042c0c4d2d | 82 | { |
Clemo | 0:e0042c0c4d2d | 83 | #if defined(DEBUG_ENABLE) |
Clemo | 0:e0042c0c4d2d | 84 | if (Chip_UART_ReadLineStatus(DEBUG_UART) & UART_LSR_RDR) { |
Clemo | 0:e0042c0c4d2d | 85 | return (int) Chip_UART_ReadByte(DEBUG_UART); |
Clemo | 0:e0042c0c4d2d | 86 | } |
Clemo | 0:e0042c0c4d2d | 87 | #endif |
Clemo | 0:e0042c0c4d2d | 88 | return EOF; |
Clemo | 0:e0042c0c4d2d | 89 | } |
Clemo | 0:e0042c0c4d2d | 90 | |
Clemo | 0:e0042c0c4d2d | 91 | /* Outputs a string on the debug UART */ |
Clemo | 0:e0042c0c4d2d | 92 | void Board_UARTPutSTR(char *str) |
Clemo | 0:e0042c0c4d2d | 93 | { |
Clemo | 0:e0042c0c4d2d | 94 | #if defined(DEBUG_ENABLE) |
Clemo | 0:e0042c0c4d2d | 95 | while (*str != '\0') { |
Clemo | 0:e0042c0c4d2d | 96 | Board_UARTPutChar(*str++); |
Clemo | 0:e0042c0c4d2d | 97 | } |
Clemo | 0:e0042c0c4d2d | 98 | #endif |
Clemo | 0:e0042c0c4d2d | 99 | } |
Clemo | 0:e0042c0c4d2d | 100 | |
Clemo | 0:e0042c0c4d2d | 101 | /* Initialize debug output via UART for board */ |
Clemo | 0:e0042c0c4d2d | 102 | void Board_Debug_Init(void) |
Clemo | 0:e0042c0c4d2d | 103 | { |
Clemo | 0:e0042c0c4d2d | 104 | #if defined(DEBUG_ENABLE) |
Clemo | 0:e0042c0c4d2d | 105 | Board_UART_Init(); |
Clemo | 0:e0042c0c4d2d | 106 | |
Clemo | 0:e0042c0c4d2d | 107 | /* Setup UART for 115.2K8N1 */ |
Clemo | 0:e0042c0c4d2d | 108 | Chip_UART_Init(LPC_USART); |
Clemo | 0:e0042c0c4d2d | 109 | Chip_UART_SetBaud(LPC_USART, 115200); |
Clemo | 0:e0042c0c4d2d | 110 | Chip_UART_ConfigData(LPC_USART, (UART_LCR_WLEN8 | UART_LCR_SBS_1BIT)); |
Clemo | 0:e0042c0c4d2d | 111 | Chip_UART_SetupFIFOS(LPC_USART, (UART_FCR_FIFO_EN | UART_FCR_TRG_LEV2)); |
Clemo | 0:e0042c0c4d2d | 112 | Chip_UART_TXEnable(LPC_USART); |
Clemo | 0:e0042c0c4d2d | 113 | #endif |
Clemo | 0:e0042c0c4d2d | 114 | } |
Clemo | 0:e0042c0c4d2d | 115 | |
Clemo | 0:e0042c0c4d2d | 116 | /* Initializes board LED(s) */ |
Clemo | 0:e0042c0c4d2d | 117 | void Board_LED_Init(void) |
Clemo | 0:e0042c0c4d2d | 118 | { |
Clemo | 0:e0042c0c4d2d | 119 | // Set PIO0_8, _9, _10 & _18 as output. |
Clemo | 0:e0042c0c4d2d | 120 | //Chip_GPIO_WriteDirBit(LPC_GPIO_PORT,BOARD_LED2_RED_PORT,BOARD_LED2_RED_PIN,OUTPUT); |
Clemo | 0:e0042c0c4d2d | 121 | //Chip_GPIO_WriteDirBit(LPC_GPIO_PORT,BOARD_LED1_RED_PORT,BOARD_LED1_RED_PIN,OUTPUT); |
Clemo | 0:e0042c0c4d2d | 122 | //Chip_GPIO_WriteDirBit(LPC_GPIO_PORT,BOARD_LED2_GREEN_PORT,BOARD_LED2_GREEN_PIN,OUTPUT); |
Clemo | 0:e0042c0c4d2d | 123 | //Chip_GPIO_WriteDirBit(LPC_GPIO_PORT,BOARD_LED1_GREEN_PORT,BOARD_LED1_GREEN_PIN,OUTPUT); |
Clemo | 0:e0042c0c4d2d | 124 | // Set PIO1_31 as output. |
Clemo | 0:e0042c0c4d2d | 125 | //Chip_GPIO_WriteDirBit(LPC_GPIO_PORT,BOARD_LED3_PORT,BOARD_LED3_PIN,OUTPUT); |
Clemo | 0:e0042c0c4d2d | 126 | } |
Clemo | 0:e0042c0c4d2d | 127 | |
Clemo | 0:e0042c0c4d2d | 128 | /* Sets the state of a board LED to on or off */ |
Clemo | 0:e0042c0c4d2d | 129 | void Board_LED_Set(uint8_t LEDNumber, bool On) |
Clemo | 0:e0042c0c4d2d | 130 | { |
Clemo | 0:e0042c0c4d2d | 131 | if (LEDNumber==BOARD_LED1_GREEN) |
Clemo | 0:e0042c0c4d2d | 132 | { |
Clemo | 0:e0042c0c4d2d | 133 | //Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LED1_GREEN_PORT,BOARD_LED1_GREEN_PIN,On); |
Clemo | 0:e0042c0c4d2d | 134 | } |
Clemo | 0:e0042c0c4d2d | 135 | else if (LEDNumber==BOARD_LED1_RED) |
Clemo | 0:e0042c0c4d2d | 136 | { |
Clemo | 0:e0042c0c4d2d | 137 | //Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LED1_RED_PORT,BOARD_LED1_RED_PIN,On); |
Clemo | 0:e0042c0c4d2d | 138 | } |
Clemo | 0:e0042c0c4d2d | 139 | else if (LEDNumber==BOARD_LED2_GREEN) |
Clemo | 0:e0042c0c4d2d | 140 | { |
Clemo | 0:e0042c0c4d2d | 141 | //Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LED2_GREEN_PORT,BOARD_LED2_GREEN_PIN,On); |
Clemo | 0:e0042c0c4d2d | 142 | } |
Clemo | 0:e0042c0c4d2d | 143 | else if (LEDNumber==BOARD_LED2_RED) |
Clemo | 0:e0042c0c4d2d | 144 | { |
Clemo | 0:e0042c0c4d2d | 145 | //Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LED2_RED_PORT,BOARD_LED2_RED_PIN,On); |
Clemo | 0:e0042c0c4d2d | 146 | } |
Clemo | 0:e0042c0c4d2d | 147 | else if (LEDNumber==BOARD_LED3) |
Clemo | 0:e0042c0c4d2d | 148 | { |
Clemo | 0:e0042c0c4d2d | 149 | //Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LED3_PORT,BOARD_LED3_PIN,On); |
Clemo | 0:e0042c0c4d2d | 150 | } |
Clemo | 0:e0042c0c4d2d | 151 | } |
Clemo | 0:e0042c0c4d2d | 152 | |
Clemo | 0:e0042c0c4d2d | 153 | /* Returns the current state of a board LED */ |
Clemo | 0:e0042c0c4d2d | 154 | bool Board_LED_Test(uint8_t LEDNumber) |
Clemo | 0:e0042c0c4d2d | 155 | { |
Clemo | 0:e0042c0c4d2d | 156 | bool state = false; |
Clemo | 0:e0042c0c4d2d | 157 | |
Clemo | 0:e0042c0c4d2d | 158 | if (LEDNumber==BOARD_LED1_GREEN) |
Clemo | 0:e0042c0c4d2d | 159 | { |
Clemo | 0:e0042c0c4d2d | 160 | //state = Chip_GPIO_ReadPortBit(LPC_GPIO_PORT,BOARD_LED1_GREEN_PORT,BOARD_LED1_GREEN_PIN); |
Clemo | 0:e0042c0c4d2d | 161 | } |
Clemo | 0:e0042c0c4d2d | 162 | else if (LEDNumber==BOARD_LED1_RED) |
Clemo | 0:e0042c0c4d2d | 163 | { |
Clemo | 0:e0042c0c4d2d | 164 | //state = Chip_GPIO_ReadPortBit(LPC_GPIO_PORT,BOARD_LED1_RED_PORT,BOARD_LED1_RED_PIN); |
Clemo | 0:e0042c0c4d2d | 165 | } |
Clemo | 0:e0042c0c4d2d | 166 | else if (LEDNumber==BOARD_LED2_GREEN) |
Clemo | 0:e0042c0c4d2d | 167 | { |
Clemo | 0:e0042c0c4d2d | 168 | //state = Chip_GPIO_ReadPortBit(LPC_GPIO_PORT,BOARD_LED2_GREEN_PORT,BOARD_LED2_GREEN_PIN); |
Clemo | 0:e0042c0c4d2d | 169 | } |
Clemo | 0:e0042c0c4d2d | 170 | else if (LEDNumber==BOARD_LED2_RED) |
Clemo | 0:e0042c0c4d2d | 171 | { |
Clemo | 0:e0042c0c4d2d | 172 | //state = Chip_GPIO_ReadPortBit(LPC_GPIO_PORT,BOARD_LED2_RED_PORT,BOARD_LED2_RED_PIN); |
Clemo | 0:e0042c0c4d2d | 173 | } |
Clemo | 0:e0042c0c4d2d | 174 | else if (LEDNumber==BOARD_LED3) |
Clemo | 0:e0042c0c4d2d | 175 | { |
Clemo | 0:e0042c0c4d2d | 176 | //state = Chip_GPIO_ReadPortBit(LPC_GPIO_PORT,BOARD_LED3_PORT,BOARD_LED3_PIN); |
Clemo | 0:e0042c0c4d2d | 177 | } |
Clemo | 0:e0042c0c4d2d | 178 | |
Clemo | 0:e0042c0c4d2d | 179 | return state; |
Clemo | 0:e0042c0c4d2d | 180 | } |
Clemo | 0:e0042c0c4d2d | 181 | |
Clemo | 0:e0042c0c4d2d | 182 | void Board_LED_Toggle(uint8_t LEDNumber) |
Clemo | 0:e0042c0c4d2d | 183 | { |
Clemo | 0:e0042c0c4d2d | 184 | Board_LED_Set(LEDNumber,Board_LED_Test(LEDNumber)==false?true:false); |
Clemo | 0:e0042c0c4d2d | 185 | } |
Clemo | 0:e0042c0c4d2d | 186 | |
Clemo | 0:e0042c0c4d2d | 187 | |
Clemo | 0:e0042c0c4d2d | 188 | void Board_LCD_Init(void) |
Clemo | 0:e0042c0c4d2d | 189 | { |
Clemo | 0:e0042c0c4d2d | 190 | // Setup backlight control. |
Clemo | 0:e0042c0c4d2d | 191 | //Chip_IOCON_PinMuxSet(LPC_IOCON,BOARD_LCD_BACKLIGHT_PORT,BOARD_LCD_BACKLIGHT_PIN,IOCON_DIGMODE_EN); |
Clemo | 0:e0042c0c4d2d | 192 | //Chip_GPIO_WriteDirBit(LPC_GPIO_PORT,BOARD_LCD_BACKLIGHT_PORT,BOARD_LCD_BACKLIGHT_PIN,OUTPUT); |
Clemo | 0:e0042c0c4d2d | 193 | |
Clemo | 0:e0042c0c4d2d | 194 | // Setup reset control. |
Clemo | 0:e0042c0c4d2d | 195 | //Chip_IOCON_PinMuxSet(LPC_IOCON,BOARD_LCD_RESET_PORT,BOARD_LCD_RESET_PIN,IOCON_DIGMODE_EN); |
Clemo | 0:e0042c0c4d2d | 196 | //Chip_GPIO_WriteDirBit(LPC_GPIO_PORT,BOARD_LCD_RESET_PORT,BOARD_LCD_RESET_PIN,OUTPUT); |
Clemo | 0:e0042c0c4d2d | 197 | } |
Clemo | 0:e0042c0c4d2d | 198 | |
Clemo | 0:e0042c0c4d2d | 199 | |
Clemo | 0:e0042c0c4d2d | 200 | void Board_LCD_ResetAssert(void) |
Clemo | 0:e0042c0c4d2d | 201 | { |
Clemo | 0:e0042c0c4d2d | 202 | //Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LCD_RESET_PORT,BOARD_LCD_RESET_PIN,false); |
Clemo | 0:e0042c0c4d2d | 203 | } |
Clemo | 0:e0042c0c4d2d | 204 | |
Clemo | 0:e0042c0c4d2d | 205 | |
Clemo | 0:e0042c0c4d2d | 206 | void Board_LCD_ResetDeassert(void) |
Clemo | 0:e0042c0c4d2d | 207 | { |
Clemo | 0:e0042c0c4d2d | 208 | //Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LCD_RESET_PORT,BOARD_LCD_RESET_PIN,true); |
Clemo | 0:e0042c0c4d2d | 209 | } |
Clemo | 0:e0042c0c4d2d | 210 | |
Clemo | 0:e0042c0c4d2d | 211 | |
Clemo | 0:e0042c0c4d2d | 212 | void Board_LCD_SetBacklight(uint8_t Intensity) |
Clemo | 0:e0042c0c4d2d | 213 | { |
Clemo | 0:e0042c0c4d2d | 214 | //if (Intensity!=0) Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LCD_BACKLIGHT_PORT,BOARD_LCD_BACKLIGHT_PIN,BOARD_LCD_BACKLIGHT_ON); |
Clemo | 0:e0042c0c4d2d | 215 | //else Chip_GPIO_WritePortBit(LPC_GPIO_PORT,BOARD_LCD_BACKLIGHT_PORT,BOARD_LCD_BACKLIGHT_PIN,BOARD_LCD_BACKLIGHT_OFF); |
Clemo | 0:e0042c0c4d2d | 216 | } |
Clemo | 0:e0042c0c4d2d | 217 | |
Clemo | 0:e0042c0c4d2d | 218 | |
Clemo | 0:e0042c0c4d2d | 219 | /* Set up and initialize all required blocks and functions related to the |
Clemo | 0:e0042c0c4d2d | 220 | board hardware */ |
Clemo | 0:e0042c0c4d2d | 221 | void Board_Init(void) |
Clemo | 0:e0042c0c4d2d | 222 | { |
Clemo | 0:e0042c0c4d2d | 223 | /* Sets up DEBUG UART */ |
Clemo | 0:e0042c0c4d2d | 224 | DEBUGINIT(); |
Clemo | 0:e0042c0c4d2d | 225 | |
Clemo | 0:e0042c0c4d2d | 226 | /* Initialize GPIO */ |
Clemo | 0:e0042c0c4d2d | 227 | //Chip_GPIO_Init(LPC_GPIO_PORT); |
Clemo | 0:e0042c0c4d2d | 228 | |
Clemo | 0:e0042c0c4d2d | 229 | /* Initialize LEDs */ |
Clemo | 0:e0042c0c4d2d | 230 | Board_LED_Init(); |
Clemo | 0:e0042c0c4d2d | 231 | Board_LED_Set(BOARD_LED1_GREEN,BOARD_LED_OFF); |
Clemo | 0:e0042c0c4d2d | 232 | Board_LED_Set(BOARD_LED1_RED,BOARD_LED_OFF); |
Clemo | 0:e0042c0c4d2d | 233 | Board_LED_Set(BOARD_LED2_GREEN,BOARD_LED_OFF); |
Clemo | 0:e0042c0c4d2d | 234 | Board_LED_Set(BOARD_LED2_RED,BOARD_LED_OFF); |
Clemo | 0:e0042c0c4d2d | 235 | Board_LED_Set(BOARD_LED3,BOARD_LED_ON); // LED3 is inverted compared to LED1 & LED2. |
Clemo | 0:e0042c0c4d2d | 236 | |
Clemo | 0:e0042c0c4d2d | 237 | // Initialize LCD. |
Clemo | 0:e0042c0c4d2d | 238 | Board_LCD_Init(); |
Clemo | 0:e0042c0c4d2d | 239 | // Put it in reset. |
Clemo | 0:e0042c0c4d2d | 240 | Board_LCD_ResetAssert(); |
Clemo | 0:e0042c0c4d2d | 241 | // Backlight off. |
Clemo | 0:e0042c0c4d2d | 242 | Board_LCD_SetBacklight(false); |
Clemo | 0:e0042c0c4d2d | 243 | } |
Clemo | 0:e0042c0c4d2d | 244 | |
Clemo | 0:e0042c0c4d2d | 245 | /* Initialize pin muxing for SSP interface */ |
Clemo | 0:e0042c0c4d2d | 246 | void Board_SSP_Init(LPC_SSP_T *pSSP) |
Clemo | 0:e0042c0c4d2d | 247 | { |
Clemo | 0:e0042c0c4d2d | 248 | if (pSSP == LPC_SSP0) { |
Clemo | 0:e0042c0c4d2d | 249 | } |
Clemo | 0:e0042c0c4d2d | 250 | else { |
Clemo | 0:e0042c0c4d2d | 251 | //Chip_IOCON_PinMuxSet(LPC_IOCON, 1, 23, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); /* PIO1_23 connected to SSEL1 */ |
Clemo | 0:e0042c0c4d2d | 252 | //Chip_IOCON_PinMuxSet(LPC_IOCON, 1, 20, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); /* PIO1_20 connected to SCK1 */ |
Clemo | 0:e0042c0c4d2d | 253 | //Chip_IOCON_PinMuxSet(LPC_IOCON, 1, 21, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); /* PIO1_21 connected to MISO1 */ |
Clemo | 0:e0042c0c4d2d | 254 | //Chip_IOCON_PinMuxSet(LPC_IOCON, 1, 22, (IOCON_FUNC2 | IOCON_MODE_PULLUP)); /* PIO1_22 connected to MOSI1 */ |
Clemo | 0:e0042c0c4d2d | 255 | } |
Clemo | 0:e0042c0c4d2d | 256 | } |
Clemo | 0:e0042c0c4d2d | 257 | |
Clemo | 0:e0042c0c4d2d | 258 | /* Configure pin for ADC channel 0 */ |
Clemo | 0:e0042c0c4d2d | 259 | void Board_ADC_Init(void) |
Clemo | 0:e0042c0c4d2d | 260 | { |
Clemo | 0:e0042c0c4d2d | 261 | /* Muxing already setup as part of SystemInit for AD0 */ |
Clemo | 0:e0042c0c4d2d | 262 | } |
Clemo | 0:e0042c0c4d2d | 263 | |
Clemo | 0:e0042c0c4d2d | 264 | /* Initialize buttons on the board */ |
Clemo | 0:e0042c0c4d2d | 265 | void Board_Buttons_Init(void) |
Clemo | 0:e0042c0c4d2d | 266 | { |
Clemo | 0:e0042c0c4d2d | 267 | //Chip_GPIO_WriteDirBit(LPC_GPIO_PORT, BUTTONS_BUTTON1_GPIO_PORT_NUM, BUTTONS_BUTTON1_GPIO_BIT_NUM, false); |
Clemo | 0:e0042c0c4d2d | 268 | } |
Clemo | 0:e0042c0c4d2d | 269 | |
Clemo | 0:e0042c0c4d2d | 270 | /* Get button status */ |
Clemo | 0:e0042c0c4d2d | 271 | uint32_t Buttons_GetStatus(void) |
Clemo | 0:e0042c0c4d2d | 272 | { |
Clemo | 0:e0042c0c4d2d | 273 | uint8_t ret = NO_BUTTON_PRESSED; |
Clemo | 0:e0042c0c4d2d | 274 | //if (Chip_GPIO_ReadPortBit(LPC_GPIO_PORT, BUTTONS_BUTTON1_GPIO_PORT_NUM, BUTTONS_BUTTON1_GPIO_BIT_NUM) == 0x00) { |
Clemo | 0:e0042c0c4d2d | 275 | // ret |= BUTTONS_BUTTON1; |
Clemo | 0:e0042c0c4d2d | 276 | //} |
Clemo | 0:e0042c0c4d2d | 277 | return ret; |
Clemo | 0:e0042c0c4d2d | 278 | } |
Clemo | 0:e0042c0c4d2d | 279 |