Date: March 20, 2011 This library is created from "LPC17xx CMSIS-Compliant Standard Peripheral Firmware Driver Library (GNU, Keil, IAR) (Jan 28, 2011)", available from NXP's website, under "All microcontrollers support documents" [[http://ics.nxp.com/support/documents/microcontrollers/?type=software]] You will need to follow [[/projects/libraries/svn/mbed/trunk/LPC1768/LPC17xx.h]] while using this library Examples provided here [[/users/frank26080115/programs/LPC1700CMSIS_Examples/]] The beautiful thing is that NXP does not place copyright protection on any of the files in here Only a few modifications are made to make it compile with the mbed online compiler, I fixed some warnings as well. This is untested as of March 20, 2011 Forum post about this library: [[/forum/mbed/topic/2030/]]

Committer:
frank26080115
Date:
Sun Mar 20 18:45:15 2011 +0000
Revision:
0:84d7747641aa

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
frank26080115 0:84d7747641aa 1 /***********************************************************************//**
frank26080115 0:84d7747641aa 2 * @file lpc17xx_pinsel.c
frank26080115 0:84d7747641aa 3 * @brief Contains all functions support for Pin connect block firmware
frank26080115 0:84d7747641aa 4 * library on LPC17xx
frank26080115 0:84d7747641aa 5 * @version 2.0
frank26080115 0:84d7747641aa 6 * @date 21. May. 2010
frank26080115 0:84d7747641aa 7 * @author NXP MCU SW Application Team
frank26080115 0:84d7747641aa 8 **************************************************************************
frank26080115 0:84d7747641aa 9 * Software that is described herein is for illustrative purposes only
frank26080115 0:84d7747641aa 10 * which provides customers with programming information regarding the
frank26080115 0:84d7747641aa 11 * products. This software is supplied "AS IS" without any warranties.
frank26080115 0:84d7747641aa 12 * NXP Semiconductors assumes no responsibility or liability for the
frank26080115 0:84d7747641aa 13 * use of the software, conveys no license or title under any patent,
frank26080115 0:84d7747641aa 14 * copyright, or mask work right to the product. NXP Semiconductors
frank26080115 0:84d7747641aa 15 * reserves the right to make changes in the software without
frank26080115 0:84d7747641aa 16 * notification. NXP Semiconductors also make no representation or
frank26080115 0:84d7747641aa 17 * warranty that such application will be suitable for the specified
frank26080115 0:84d7747641aa 18 * use without further testing or modification.
frank26080115 0:84d7747641aa 19 **********************************************************************/
frank26080115 0:84d7747641aa 20
frank26080115 0:84d7747641aa 21 /* Peripheral group ----------------------------------------------------------- */
frank26080115 0:84d7747641aa 22 /** @addtogroup PINSEL
frank26080115 0:84d7747641aa 23 * @{
frank26080115 0:84d7747641aa 24 */
frank26080115 0:84d7747641aa 25
frank26080115 0:84d7747641aa 26 /* Includes ------------------------------------------------------------------- */
frank26080115 0:84d7747641aa 27 #include "lpc17xx_pinsel.h"
frank26080115 0:84d7747641aa 28
frank26080115 0:84d7747641aa 29 /* Public Functions ----------------------------------------------------------- */
frank26080115 0:84d7747641aa 30
frank26080115 0:84d7747641aa 31 static void set_PinFunc ( uint8_t portnum, uint8_t pinnum, uint8_t funcnum);
frank26080115 0:84d7747641aa 32 static void set_ResistorMode ( uint8_t portnum, uint8_t pinnum, uint8_t modenum);
frank26080115 0:84d7747641aa 33 static void set_OpenDrainMode( uint8_t portnum, uint8_t pinnum, uint8_t modenum);
frank26080115 0:84d7747641aa 34
frank26080115 0:84d7747641aa 35 /*********************************************************************//**
frank26080115 0:84d7747641aa 36 * @brief Setup the pin selection function
frank26080115 0:84d7747641aa 37 * @param[in] portnum PORT number,
frank26080115 0:84d7747641aa 38 * should be one of the following:
frank26080115 0:84d7747641aa 39 * - PINSEL_PORT_0 : Port 0
frank26080115 0:84d7747641aa 40 * - PINSEL_PORT_1 : Port 1
frank26080115 0:84d7747641aa 41 * - PINSEL_PORT_2 : Port 2
frank26080115 0:84d7747641aa 42 * - PINSEL_PORT_3 : Port 3
frank26080115 0:84d7747641aa 43 *
frank26080115 0:84d7747641aa 44 * @param[in] pinnum Pin number,
frank26080115 0:84d7747641aa 45 * should be one of the following:
frank26080115 0:84d7747641aa 46 - PINSEL_PIN_0 : Pin 0
frank26080115 0:84d7747641aa 47 - PINSEL_PIN_1 : Pin 1
frank26080115 0:84d7747641aa 48 - PINSEL_PIN_2 : Pin 2
frank26080115 0:84d7747641aa 49 - PINSEL_PIN_3 : Pin 3
frank26080115 0:84d7747641aa 50 - PINSEL_PIN_4 : Pin 4
frank26080115 0:84d7747641aa 51 - PINSEL_PIN_5 : Pin 5
frank26080115 0:84d7747641aa 52 - PINSEL_PIN_6 : Pin 6
frank26080115 0:84d7747641aa 53 - PINSEL_PIN_7 : Pin 7
frank26080115 0:84d7747641aa 54 - PINSEL_PIN_8 : Pin 8
frank26080115 0:84d7747641aa 55 - PINSEL_PIN_9 : Pin 9
frank26080115 0:84d7747641aa 56 - PINSEL_PIN_10 : Pin 10
frank26080115 0:84d7747641aa 57 - PINSEL_PIN_11 : Pin 11
frank26080115 0:84d7747641aa 58 - PINSEL_PIN_12 : Pin 12
frank26080115 0:84d7747641aa 59 - PINSEL_PIN_13 : Pin 13
frank26080115 0:84d7747641aa 60 - PINSEL_PIN_14 : Pin 14
frank26080115 0:84d7747641aa 61 - PINSEL_PIN_15 : Pin 15
frank26080115 0:84d7747641aa 62 - PINSEL_PIN_16 : Pin 16
frank26080115 0:84d7747641aa 63 - PINSEL_PIN_17 : Pin 17
frank26080115 0:84d7747641aa 64 - PINSEL_PIN_18 : Pin 18
frank26080115 0:84d7747641aa 65 - PINSEL_PIN_19 : Pin 19
frank26080115 0:84d7747641aa 66 - PINSEL_PIN_20 : Pin 20
frank26080115 0:84d7747641aa 67 - PINSEL_PIN_21 : Pin 21
frank26080115 0:84d7747641aa 68 - PINSEL_PIN_22 : Pin 22
frank26080115 0:84d7747641aa 69 - PINSEL_PIN_23 : Pin 23
frank26080115 0:84d7747641aa 70 - PINSEL_PIN_24 : Pin 24
frank26080115 0:84d7747641aa 71 - PINSEL_PIN_25 : Pin 25
frank26080115 0:84d7747641aa 72 - PINSEL_PIN_26 : Pin 26
frank26080115 0:84d7747641aa 73 - PINSEL_PIN_27 : Pin 27
frank26080115 0:84d7747641aa 74 - PINSEL_PIN_28 : Pin 28
frank26080115 0:84d7747641aa 75 - PINSEL_PIN_29 : Pin 29
frank26080115 0:84d7747641aa 76 - PINSEL_PIN_30 : Pin 30
frank26080115 0:84d7747641aa 77 - PINSEL_PIN_31 : Pin 31
frank26080115 0:84d7747641aa 78
frank26080115 0:84d7747641aa 79 * @param[in] funcnum Function number,
frank26080115 0:84d7747641aa 80 * should be one of the following:
frank26080115 0:84d7747641aa 81 * - PINSEL_FUNC_0 : default function
frank26080115 0:84d7747641aa 82 * - PINSEL_FUNC_1 : first alternate function
frank26080115 0:84d7747641aa 83 * - PINSEL_FUNC_2 : second alternate function
frank26080115 0:84d7747641aa 84 * - PINSEL_FUNC_3 : third alternate function
frank26080115 0:84d7747641aa 85 *
frank26080115 0:84d7747641aa 86 * @return None
frank26080115 0:84d7747641aa 87 **********************************************************************/
frank26080115 0:84d7747641aa 88 static void set_PinFunc ( uint8_t portnum, uint8_t pinnum, uint8_t funcnum)
frank26080115 0:84d7747641aa 89 {
frank26080115 0:84d7747641aa 90 uint32_t pinnum_t = pinnum;
frank26080115 0:84d7747641aa 91 uint32_t pinselreg_idx = 2 * portnum;
frank26080115 0:84d7747641aa 92 uint32_t *pPinCon = (uint32_t *)&LPC_PINCON->PINSEL0;
frank26080115 0:84d7747641aa 93
frank26080115 0:84d7747641aa 94 if (pinnum_t >= 16) {
frank26080115 0:84d7747641aa 95 pinnum_t -= 16;
frank26080115 0:84d7747641aa 96 pinselreg_idx++;
frank26080115 0:84d7747641aa 97 }
frank26080115 0:84d7747641aa 98 *(uint32_t *)(pPinCon + pinselreg_idx) &= ~(0x03UL << (pinnum_t * 2));
frank26080115 0:84d7747641aa 99 *(uint32_t *)(pPinCon + pinselreg_idx) |= ((uint32_t)funcnum) << (pinnum_t * 2);
frank26080115 0:84d7747641aa 100 }
frank26080115 0:84d7747641aa 101
frank26080115 0:84d7747641aa 102 /*********************************************************************//**
frank26080115 0:84d7747641aa 103 * @brief Setup resistor mode for each pin
frank26080115 0:84d7747641aa 104 * @param[in] portnum PORT number,
frank26080115 0:84d7747641aa 105 * should be one of the following:
frank26080115 0:84d7747641aa 106 * - PINSEL_PORT_0 : Port 0
frank26080115 0:84d7747641aa 107 * - PINSEL_PORT_1 : Port 1
frank26080115 0:84d7747641aa 108 * - PINSEL_PORT_2 : Port 2
frank26080115 0:84d7747641aa 109 * - PINSEL_PORT_3 : Port 3
frank26080115 0:84d7747641aa 110 * @param[in] pinnum Pin number,
frank26080115 0:84d7747641aa 111 * should be one of the following:
frank26080115 0:84d7747641aa 112 - PINSEL_PIN_0 : Pin 0
frank26080115 0:84d7747641aa 113 - PINSEL_PIN_1 : Pin 1
frank26080115 0:84d7747641aa 114 - PINSEL_PIN_2 : Pin 2
frank26080115 0:84d7747641aa 115 - PINSEL_PIN_3 : Pin 3
frank26080115 0:84d7747641aa 116 - PINSEL_PIN_4 : Pin 4
frank26080115 0:84d7747641aa 117 - PINSEL_PIN_5 : Pin 5
frank26080115 0:84d7747641aa 118 - PINSEL_PIN_6 : Pin 6
frank26080115 0:84d7747641aa 119 - PINSEL_PIN_7 : Pin 7
frank26080115 0:84d7747641aa 120 - PINSEL_PIN_8 : Pin 8
frank26080115 0:84d7747641aa 121 - PINSEL_PIN_9 : Pin 9
frank26080115 0:84d7747641aa 122 - PINSEL_PIN_10 : Pin 10
frank26080115 0:84d7747641aa 123 - PINSEL_PIN_11 : Pin 11
frank26080115 0:84d7747641aa 124 - PINSEL_PIN_12 : Pin 12
frank26080115 0:84d7747641aa 125 - PINSEL_PIN_13 : Pin 13
frank26080115 0:84d7747641aa 126 - PINSEL_PIN_14 : Pin 14
frank26080115 0:84d7747641aa 127 - PINSEL_PIN_15 : Pin 15
frank26080115 0:84d7747641aa 128 - PINSEL_PIN_16 : Pin 16
frank26080115 0:84d7747641aa 129 - PINSEL_PIN_17 : Pin 17
frank26080115 0:84d7747641aa 130 - PINSEL_PIN_18 : Pin 18
frank26080115 0:84d7747641aa 131 - PINSEL_PIN_19 : Pin 19
frank26080115 0:84d7747641aa 132 - PINSEL_PIN_20 : Pin 20
frank26080115 0:84d7747641aa 133 - PINSEL_PIN_21 : Pin 21
frank26080115 0:84d7747641aa 134 - PINSEL_PIN_22 : Pin 22
frank26080115 0:84d7747641aa 135 - PINSEL_PIN_23 : Pin 23
frank26080115 0:84d7747641aa 136 - PINSEL_PIN_24 : Pin 24
frank26080115 0:84d7747641aa 137 - PINSEL_PIN_25 : Pin 25
frank26080115 0:84d7747641aa 138 - PINSEL_PIN_26 : Pin 26
frank26080115 0:84d7747641aa 139 - PINSEL_PIN_27 : Pin 27
frank26080115 0:84d7747641aa 140 - PINSEL_PIN_28 : Pin 28
frank26080115 0:84d7747641aa 141 - PINSEL_PIN_29 : Pin 29
frank26080115 0:84d7747641aa 142 - PINSEL_PIN_30 : Pin 30
frank26080115 0:84d7747641aa 143 - PINSEL_PIN_31 : Pin 31
frank26080115 0:84d7747641aa 144
frank26080115 0:84d7747641aa 145 * @param[in] modenum: Mode number,
frank26080115 0:84d7747641aa 146 * should be one of the following:
frank26080115 0:84d7747641aa 147 - PINSEL_PINMODE_PULLUP : Internal pull-up resistor
frank26080115 0:84d7747641aa 148 - PINSEL_PINMODE_TRISTATE : Tri-state
frank26080115 0:84d7747641aa 149 - PINSEL_PINMODE_PULLDOWN : Internal pull-down resistor
frank26080115 0:84d7747641aa 150
frank26080115 0:84d7747641aa 151 * @return None
frank26080115 0:84d7747641aa 152 **********************************************************************/
frank26080115 0:84d7747641aa 153 void set_ResistorMode ( uint8_t portnum, uint8_t pinnum, uint8_t modenum)
frank26080115 0:84d7747641aa 154 {
frank26080115 0:84d7747641aa 155 uint32_t pinnum_t = pinnum;
frank26080115 0:84d7747641aa 156 uint32_t pinmodereg_idx = 2 * portnum;
frank26080115 0:84d7747641aa 157 uint32_t *pPinCon = (uint32_t *)&LPC_PINCON->PINMODE0;
frank26080115 0:84d7747641aa 158
frank26080115 0:84d7747641aa 159 if (pinnum_t >= 16) {
frank26080115 0:84d7747641aa 160 pinnum_t -= 16;
frank26080115 0:84d7747641aa 161 pinmodereg_idx++ ;
frank26080115 0:84d7747641aa 162 }
frank26080115 0:84d7747641aa 163
frank26080115 0:84d7747641aa 164 *(uint32_t *)(pPinCon + pinmodereg_idx) &= ~(0x03UL << (pinnum_t * 2));
frank26080115 0:84d7747641aa 165 *(uint32_t *)(pPinCon + pinmodereg_idx) |= ((uint32_t)modenum) << (pinnum_t * 2);
frank26080115 0:84d7747641aa 166 }
frank26080115 0:84d7747641aa 167
frank26080115 0:84d7747641aa 168 /*********************************************************************//**
frank26080115 0:84d7747641aa 169 * @brief Setup Open drain mode for each pin
frank26080115 0:84d7747641aa 170 * @param[in] portnum PORT number,
frank26080115 0:84d7747641aa 171 * should be one of the following:
frank26080115 0:84d7747641aa 172 * - PINSEL_PORT_0 : Port 0
frank26080115 0:84d7747641aa 173 * - PINSEL_PORT_1 : Port 1
frank26080115 0:84d7747641aa 174 * - PINSEL_PORT_2 : Port 2
frank26080115 0:84d7747641aa 175 * - PINSEL_PORT_3 : Port 3
frank26080115 0:84d7747641aa 176 *
frank26080115 0:84d7747641aa 177 * @param[in] pinnum Pin number,
frank26080115 0:84d7747641aa 178 * should be one of the following:
frank26080115 0:84d7747641aa 179 - PINSEL_PIN_0 : Pin 0
frank26080115 0:84d7747641aa 180 - PINSEL_PIN_1 : Pin 1
frank26080115 0:84d7747641aa 181 - PINSEL_PIN_2 : Pin 2
frank26080115 0:84d7747641aa 182 - PINSEL_PIN_3 : Pin 3
frank26080115 0:84d7747641aa 183 - PINSEL_PIN_4 : Pin 4
frank26080115 0:84d7747641aa 184 - PINSEL_PIN_5 : Pin 5
frank26080115 0:84d7747641aa 185 - PINSEL_PIN_6 : Pin 6
frank26080115 0:84d7747641aa 186 - PINSEL_PIN_7 : Pin 7
frank26080115 0:84d7747641aa 187 - PINSEL_PIN_8 : Pin 8
frank26080115 0:84d7747641aa 188 - PINSEL_PIN_9 : Pin 9
frank26080115 0:84d7747641aa 189 - PINSEL_PIN_10 : Pin 10
frank26080115 0:84d7747641aa 190 - PINSEL_PIN_11 : Pin 11
frank26080115 0:84d7747641aa 191 - PINSEL_PIN_12 : Pin 12
frank26080115 0:84d7747641aa 192 - PINSEL_PIN_13 : Pin 13
frank26080115 0:84d7747641aa 193 - PINSEL_PIN_14 : Pin 14
frank26080115 0:84d7747641aa 194 - PINSEL_PIN_15 : Pin 15
frank26080115 0:84d7747641aa 195 - PINSEL_PIN_16 : Pin 16
frank26080115 0:84d7747641aa 196 - PINSEL_PIN_17 : Pin 17
frank26080115 0:84d7747641aa 197 - PINSEL_PIN_18 : Pin 18
frank26080115 0:84d7747641aa 198 - PINSEL_PIN_19 : Pin 19
frank26080115 0:84d7747641aa 199 - PINSEL_PIN_20 : Pin 20
frank26080115 0:84d7747641aa 200 - PINSEL_PIN_21 : Pin 21
frank26080115 0:84d7747641aa 201 - PINSEL_PIN_22 : Pin 22
frank26080115 0:84d7747641aa 202 - PINSEL_PIN_23 : Pin 23
frank26080115 0:84d7747641aa 203 - PINSEL_PIN_24 : Pin 24
frank26080115 0:84d7747641aa 204 - PINSEL_PIN_25 : Pin 25
frank26080115 0:84d7747641aa 205 - PINSEL_PIN_26 : Pin 26
frank26080115 0:84d7747641aa 206 - PINSEL_PIN_27 : Pin 27
frank26080115 0:84d7747641aa 207 - PINSEL_PIN_28 : Pin 28
frank26080115 0:84d7747641aa 208 - PINSEL_PIN_29 : Pin 29
frank26080115 0:84d7747641aa 209 - PINSEL_PIN_30 : Pin 30
frank26080115 0:84d7747641aa 210 - PINSEL_PIN_31 : Pin 31
frank26080115 0:84d7747641aa 211
frank26080115 0:84d7747641aa 212 * @param[in] modenum Open drain mode number,
frank26080115 0:84d7747641aa 213 * should be one of the following:
frank26080115 0:84d7747641aa 214 * - PINSEL_PINMODE_NORMAL : Pin is in the normal (not open drain) mode
frank26080115 0:84d7747641aa 215 * - PINSEL_PINMODE_OPENDRAIN : Pin is in the open drain mode
frank26080115 0:84d7747641aa 216 *
frank26080115 0:84d7747641aa 217 * @return None
frank26080115 0:84d7747641aa 218 **********************************************************************/
frank26080115 0:84d7747641aa 219 void set_OpenDrainMode( uint8_t portnum, uint8_t pinnum, uint8_t modenum)
frank26080115 0:84d7747641aa 220 {
frank26080115 0:84d7747641aa 221 uint32_t *pPinCon = (uint32_t *)&LPC_PINCON->PINMODE_OD0;
frank26080115 0:84d7747641aa 222
frank26080115 0:84d7747641aa 223 if (modenum == PINSEL_PINMODE_OPENDRAIN){
frank26080115 0:84d7747641aa 224 *(uint32_t *)(pPinCon + portnum) |= (0x01UL << pinnum);
frank26080115 0:84d7747641aa 225 } else {
frank26080115 0:84d7747641aa 226 *(uint32_t *)(pPinCon + portnum) &= ~(0x01UL << pinnum);
frank26080115 0:84d7747641aa 227 }
frank26080115 0:84d7747641aa 228 }
frank26080115 0:84d7747641aa 229
frank26080115 0:84d7747641aa 230 /* End of Public Functions ---------------------------------------------------- */
frank26080115 0:84d7747641aa 231
frank26080115 0:84d7747641aa 232 /* Public Functions ----------------------------------------------------------- */
frank26080115 0:84d7747641aa 233 /** @addtogroup PINSEL_Public_Functions
frank26080115 0:84d7747641aa 234 * @{
frank26080115 0:84d7747641aa 235 */
frank26080115 0:84d7747641aa 236 /*********************************************************************//**
frank26080115 0:84d7747641aa 237 * @brief Configure trace function
frank26080115 0:84d7747641aa 238 * @param[in] NewState State of the Trace function configuration,
frank26080115 0:84d7747641aa 239 * should be one of the following:
frank26080115 0:84d7747641aa 240 * - ENABLE : Enable Trace Function
frank26080115 0:84d7747641aa 241 * - DISABLE : Disable Trace Function
frank26080115 0:84d7747641aa 242 *
frank26080115 0:84d7747641aa 243 * @return None
frank26080115 0:84d7747641aa 244 **********************************************************************/
frank26080115 0:84d7747641aa 245 void PINSEL_ConfigTraceFunc(FunctionalState NewState)
frank26080115 0:84d7747641aa 246 {
frank26080115 0:84d7747641aa 247 if (NewState == ENABLE) {
frank26080115 0:84d7747641aa 248 LPC_PINCON->PINSEL10 |= (0x01UL << 3);
frank26080115 0:84d7747641aa 249 } else if (NewState == DISABLE) {
frank26080115 0:84d7747641aa 250 LPC_PINCON->PINSEL10 &= ~(0x01UL << 3);
frank26080115 0:84d7747641aa 251 }
frank26080115 0:84d7747641aa 252 }
frank26080115 0:84d7747641aa 253
frank26080115 0:84d7747641aa 254 /*********************************************************************//**
frank26080115 0:84d7747641aa 255 * @brief Setup I2C0 pins
frank26080115 0:84d7747641aa 256 * @param[in] i2cPinMode I2C pin mode,
frank26080115 0:84d7747641aa 257 * should be one of the following:
frank26080115 0:84d7747641aa 258 * - PINSEL_I2C_Normal_Mode : The standard drive mode
frank26080115 0:84d7747641aa 259 * - PINSEL_I2C_Fast_Mode : Fast Mode Plus drive mode
frank26080115 0:84d7747641aa 260 *
frank26080115 0:84d7747641aa 261 * @param[in] filterSlewRateEnable should be:
frank26080115 0:84d7747641aa 262 * - ENABLE: Enable filter and slew rate.
frank26080115 0:84d7747641aa 263 * - DISABLE: Disable filter and slew rate.
frank26080115 0:84d7747641aa 264 *
frank26080115 0:84d7747641aa 265 * @return None
frank26080115 0:84d7747641aa 266 **********************************************************************/
frank26080115 0:84d7747641aa 267 void PINSEL_SetI2C0Pins(uint8_t i2cPinMode, FunctionalState filterSlewRateEnable)
frank26080115 0:84d7747641aa 268 {
frank26080115 0:84d7747641aa 269 uint32_t regVal = 0;
frank26080115 0:84d7747641aa 270
frank26080115 0:84d7747641aa 271 if (i2cPinMode == PINSEL_I2C_Fast_Mode){
frank26080115 0:84d7747641aa 272 regVal = PINSEL_I2CPADCFG_SCLDRV0 | PINSEL_I2CPADCFG_SDADRV0;
frank26080115 0:84d7747641aa 273 }
frank26080115 0:84d7747641aa 274
frank26080115 0:84d7747641aa 275 if (filterSlewRateEnable == DISABLE){
frank26080115 0:84d7747641aa 276 regVal = PINSEL_I2CPADCFG_SCLI2C0 | PINSEL_I2CPADCFG_SDAI2C0;
frank26080115 0:84d7747641aa 277 }
frank26080115 0:84d7747641aa 278
frank26080115 0:84d7747641aa 279 LPC_PINCON->I2CPADCFG = regVal;
frank26080115 0:84d7747641aa 280 }
frank26080115 0:84d7747641aa 281
frank26080115 0:84d7747641aa 282
frank26080115 0:84d7747641aa 283 /*********************************************************************//**
frank26080115 0:84d7747641aa 284 * @brief Configure Pin corresponding to specified parameters passed
frank26080115 0:84d7747641aa 285 * in the PinCfg
frank26080115 0:84d7747641aa 286 * @param[in] PinCfg Pointer to a PINSEL_CFG_Type structure
frank26080115 0:84d7747641aa 287 * that contains the configuration information for the
frank26080115 0:84d7747641aa 288 * specified pin.
frank26080115 0:84d7747641aa 289 * @return None
frank26080115 0:84d7747641aa 290 **********************************************************************/
frank26080115 0:84d7747641aa 291 void PINSEL_ConfigPin(PINSEL_CFG_Type *PinCfg)
frank26080115 0:84d7747641aa 292 {
frank26080115 0:84d7747641aa 293 set_PinFunc(PinCfg->Portnum, PinCfg->Pinnum, PinCfg->Funcnum);
frank26080115 0:84d7747641aa 294 set_ResistorMode(PinCfg->Portnum, PinCfg->Pinnum, PinCfg->Pinmode);
frank26080115 0:84d7747641aa 295 set_OpenDrainMode(PinCfg->Portnum, PinCfg->Pinnum, PinCfg->OpenDrain);
frank26080115 0:84d7747641aa 296 }
frank26080115 0:84d7747641aa 297
frank26080115 0:84d7747641aa 298
frank26080115 0:84d7747641aa 299 /**
frank26080115 0:84d7747641aa 300 * @}
frank26080115 0:84d7747641aa 301 */
frank26080115 0:84d7747641aa 302
frank26080115 0:84d7747641aa 303 /**
frank26080115 0:84d7747641aa 304 * @}
frank26080115 0:84d7747641aa 305 */
frank26080115 0:84d7747641aa 306
frank26080115 0:84d7747641aa 307 /* --------------------------------- End Of File ------------------------------ */