10. lpc17xx_clkpwr Module

Clock and power client library functions. Find implementation details in LPC17xx CMSIS-Compliant Standard Peripheral Firmware Driver Library documentation.

robovero.lpc17xx_clkpwr.CLKPWR_CLKOUTCFG_CLKOUTDIV(n)

Integer value to divide the output clock by, minus one.

robovero.lpc17xx_clkpwr.CLKPWR_ConfigPPWR(PPType, NewState)

Configure power supply for each peripheral according to NewState.

Args:

  • PPType: Type of peripheral used to enable power, should be:
    • CLKPWR_PCONP_PCTIM0 : Timer 0
    • CLKPWR_PCONP_PCTIM1 : Timer 1
    • CLKPWR_PCONP_PCUART0 : UART 0
    • CLKPWR_PCONP_PCUART1 : UART 1
    • CLKPWR_PCONP_PCPWM1 : PWM 1
    • CLKPWR_PCONP_PCI2C0 : I2C 0
    • CLKPWR_PCONP_PCSPI : SPI
    • CLKPWR_PCONP_PCRTC : RTC
    • CLKPWR_PCONP_PCSSP1 : SSP 1
    • CLKPWR_PCONP_PCAD : ADC
    • CLKPWR_PCONP_PCAN1 : CAN 1
    • CLKPWR_PCONP_PCAN2 : CAN 2
    • CLKPWR_PCONP_PCGPIO : GPIO
    • CLKPWR_PCONP_PCRIT : RIT
    • CLKPWR_PCONP_PCMC : MC
    • CLKPWR_PCONP_PCQEI : QEI
    • CLKPWR_PCONP_PCI2C1 : I2C 1
    • CLKPWR_PCONP_PCSSP0 : SSP 0
    • CLKPWR_PCONP_PCTIM2 : Timer 2
    • CLKPWR_PCONP_PCTIM3 : Timer 3
    • CLKPWR_PCONP_PCUART2 : UART 2
    • CLKPWR_PCONP_PCUART3 : UART 3
    • CLKPWR_PCONP_PCI2C2 : I2C 2
    • CLKPWR_PCONP_PCI2S : I2S
    • CLKPWR_PCONP_PCGPDMA : GPDMA
    • CLKPWR_PCONP_PCENET : Ethernet
    • CLKPWR_PCONP_PCUSB : USB
  • NewState: New state of Peripheral Power, should be:
    • ENABLE: Enable power for this peripheral
    • DISABLE: Disable power for this peripheral
robovero.lpc17xx_clkpwr.CLKPWR_DeepPowerDown()

Enter Deep Power Down mode with co-operated instruction by the Cortex-M3.

robovero.lpc17xx_clkpwr.CLKPWR_DeepSleep()

Enter Deep Sleep mode with co-operated instruction by the Cortex-M3.

robovero.lpc17xx_clkpwr.CLKPWR_GetPCLK(ClkType)

Get current value of each Peripheral Clock.

Args:

  • ClkType: Peripheral Clock Selection of each type. Should be:
    • CLKPWR_PCLKSEL_WDT : WDT
    • CLKPWR_PCLKSEL_TIMER0 : Timer 0
    • CLKPWR_PCLKSEL_TIMER1 : Timer 1
    • CLKPWR_PCLKSEL_UART0 : UART 0
    • CLKPWR_PCLKSEL_UART1 : UART 1
    • CLKPWR_PCLKSEL_PWM1 : PWM 1
    • CLKPWR_PCLKSEL_I2C0 : I2C 0
    • CLKPWR_PCLKSEL_SPI : SPI
    • CLKPWR_PCLKSEL_SSP1 : SSP 1
    • CLKPWR_PCLKSEL_DAC : DAC
    • CLKPWR_PCLKSEL_ADC : ADC
    • CLKPWR_PCLKSEL_CAN1 : CAN 1
    • CLKPWR_PCLKSEL_CAN2 : CAN 2
    • CLKPWR_PCLKSEL_ACF : ACF
    • CLKPWR_PCLKSEL_QEI : QEI
    • CLKPWR_PCLKSEL_PCB : PCB
    • CLKPWR_PCLKSEL_I2C1 : I2C 1
    • CLKPWR_PCLKSEL_SSP0 : SSP 0
    • CLKPWR_PCLKSEL_TIMER2 : Timer 2
    • CLKPWR_PCLKSEL_TIMER3 : Timer 3
    • CLKPWR_PCLKSEL_UART2 : UART 2
    • CLKPWR_PCLKSEL_UART3 : UART 3
    • CLKPWR_PCLKSEL_I2C2 : I2C 2
    • CLKPWR_PCLKSEL_I2S : I2S
    • CLKPWR_PCLKSEL_RIT : RIT
    • CLKPWR_PCLKSEL_SYSCON : SYSCON
    • CLKPWR_PCLKSEL_MC : MC

Return:

  • Value of Selected Peripheral Clock
robovero.lpc17xx_clkpwr.CLKPWR_GetPCLKSEL(ClkType)

Get current value of each Peripheral Clock Selection.

Args:

  • ClkType: Peripheral Clock Selection of each type. Should be:
    • CLKPWR_PCLKSEL_WDT : WDT
    • CLKPWR_PCLKSEL_TIMER0 : Timer 0
    • CLKPWR_PCLKSEL_TIMER1 : Timer 1
    • CLKPWR_PCLKSEL_UART0 : UART 0
    • CLKPWR_PCLKSEL_UART1 : UART 1
    • CLKPWR_PCLKSEL_PWM1 : PWM 1
    • CLKPWR_PCLKSEL_I2C0 : I2C 0
    • CLKPWR_PCLKSEL_SPI : SPI
    • CLKPWR_PCLKSEL_SSP1 : SSP 1
    • CLKPWR_PCLKSEL_DAC : DAC
    • CLKPWR_PCLKSEL_ADC : ADC
    • CLKPWR_PCLKSEL_CAN1 : CAN 1
    • CLKPWR_PCLKSEL_CAN2 : CAN 2
    • CLKPWR_PCLKSEL_ACF : ACF
    • CLKPWR_PCLKSEL_QEI : QEI
    • CLKPWR_PCLKSEL_PCB : PCB
    • CLKPWR_PCLKSEL_I2C1 : I2C 1
    • CLKPWR_PCLKSEL_SSP0 : SSP 0
    • CLKPWR_PCLKSEL_TIMER2 : Timer 2
    • CLKPWR_PCLKSEL_TIMER3 : Timer 3
    • CLKPWR_PCLKSEL_UART2 : UART 2
    • CLKPWR_PCLKSEL_UART3 : UART 3
    • CLKPWR_PCLKSEL_I2C2 : I2C 2
    • CLKPWR_PCLKSEL_I2S : I2S
    • CLKPWR_PCLKSEL_RIT : RIT
    • CLKPWR_PCLKSEL_SYSCON : SYSCON
    • CLKPWR_PCLKSEL_MC : MC

Return:

  • Value of Selected Peripheral Clock Selection
robovero.lpc17xx_clkpwr.CLKPWR_PCLKSEL_BITMASK(p)

Macro to mask peripheral clock of each type.

Args:

  • p: position of two bits that hold divider of peripheral clock
robovero.lpc17xx_clkpwr.CLKPWR_PCLKSEL_GET(p, n)

Macro to get peripheral clock of each type.

Args:

  • p: position of two bits that hold divider of peripheral clock
  • n: value of divider of peripheral clock to be set
robovero.lpc17xx_clkpwr.CLKPWR_PCLKSEL_SET(p, n)

Macro to set peripheral clock of each type.

Args:

  • p: position of two bits that hold divider of peripheral clock
  • n: value of divider of peripheral clock to be set
robovero.lpc17xx_clkpwr.CLKPWR_PLL0CFG_MSEL(n)

PLL 0 Configuration MSEL field.

robovero.lpc17xx_clkpwr.CLKPWR_PLL0CFG_NSEL(n)

PLL 0 Configuration NSEL field.

robovero.lpc17xx_clkpwr.CLKPWR_PLL0STAT_MSEL(n)

PLL 0 MSEL value.

robovero.lpc17xx_clkpwr.CLKPWR_PLL0STAT_NSEL(n)

PLL NSEL get value.

robovero.lpc17xx_clkpwr.CLKPWR_PLL1CFG_MSEL(n)

USB PLL MSEL set value.

robovero.lpc17xx_clkpwr.CLKPWR_PLL1CFG_PSEL(n)

USB PLL PSEL set value.

robovero.lpc17xx_clkpwr.CLKPWR_PLL1STAT_MSEL(n)

USB PLL MSEL get value.

robovero.lpc17xx_clkpwr.CLKPWR_PLL1STAT_PSEL(n)

USB PLL PSEL get value.

robovero.lpc17xx_clkpwr.CLKPWR_PowerDown()

Enter Power Down mode with co-operated instruction by the Cortex-M3.

robovero.lpc17xx_clkpwr.CLKPWR_SetPCLKDiv(ClkType, DivVal)

Set value of each Peripheral Clock Selection.

Args:

  • ClkType: Peripheral Clock Selection of each type. Should be:
    • CLKPWR_PCLKSEL_WDT : WDT
    • CLKPWR_PCLKSEL_TIMER0 : Timer 0
    • CLKPWR_PCLKSEL_TIMER1 : Timer 1
    • CLKPWR_PCLKSEL_UART0 : UART 0
    • CLKPWR_PCLKSEL_UART1 : UART 1
    • CLKPWR_PCLKSEL_PWM1 : PWM 1
    • CLKPWR_PCLKSEL_I2C0 : I2C 0
    • CLKPWR_PCLKSEL_SPI : SPI
    • CLKPWR_PCLKSEL_SSP1 : SSP 1
    • CLKPWR_PCLKSEL_DAC : DAC
    • CLKPWR_PCLKSEL_ADC : ADC
    • CLKPWR_PCLKSEL_CAN1 : CAN 1
    • CLKPWR_PCLKSEL_CAN2 : CAN 2
    • CLKPWR_PCLKSEL_ACF : ACF
    • CLKPWR_PCLKSEL_QEI : QEI
    • CLKPWR_PCLKSEL_PCB : PCB
    • CLKPWR_PCLKSEL_I2C1 : I2C 1
    • CLKPWR_PCLKSEL_SSP0 : SSP 0
    • CLKPWR_PCLKSEL_TIMER2 : Timer 2
    • CLKPWR_PCLKSEL_TIMER3 : Timer 3
    • CLKPWR_PCLKSEL_UART2 : UART 2
    • CLKPWR_PCLKSEL_UART3 : UART 3
    • CLKPWR_PCLKSEL_I2C2 : I2C 2
    • CLKPWR_PCLKSEL_I2S : I2S
    • CLKPWR_PCLKSEL_RIT : RIT
    • CLKPWR_PCLKSEL_SYSCON : SYSCON
    • CLKPWR_PCLKSEL_MC : MC
  • DivVal: Value of divider, should be:
    • CLKPWR_PCLKSEL_CCLK_DIV_4: PCLK_peripheral = CCLK/4
    • CLKPWR_PCLKSEL_CCLK_DIV_1: PCLK_peripheral = CCLK/1
    • CLKPWR_PCLKSEL_CCLK_DIV_2: PCLK_peripheral = CCLK/2
robovero.lpc17xx_clkpwr.CLKPWR_Sleep()

Enter Sleep mode with co-operated instruction by the Cortex-M3.