예제 #1
0
/**
 * @brief   STM32 I/O ports configuration.
 * @details Ports A-D(E, F, G, H) clocks enabled.
 *
 * @param[in] config    the STM32 ports configuration
 *
 * @notapi
 */
void _pal_lld_init(const PALConfig *config) {

  /*
   * Enables the GPIO related clocks.
   */
#if defined(STM32L1XX_MD)
  rccEnableAHB(AHB_EN_MASK, TRUE);
#elif defined(STM32F2XX) || defined(STM32F4XX)
  RCC->AHB1ENR   |= AHB1_EN_MASK;
  RCC->AHB1LPENR |= AHB1_LPEN_MASK;
#endif

  /*
   * Initial GPIO setup.
   */
  initgpio(GPIOA, &config->PAData);
  initgpio(GPIOB, &config->PBData);
  initgpio(GPIOC, &config->PCData);
  initgpio(GPIOD, &config->PDData);
#if STM32_HAS_GPIOE
  initgpio(GPIOE, &config->PEData);
#endif
#if STM32_HAS_GPIOF
  initgpio(GPIOF, &config->PFData);
#endif
#if STM32_HAS_GPIOG
  initgpio(GPIOG, &config->PGData);
#endif
#if STM32_HAS_GPIOH
  initgpio(GPIOH, &config->PHData);
#endif
#if STM32_HAS_GPIOI
  initgpio(GPIOI, &config->PIData);
#endif
}
예제 #2
0
int main()
{
  int fd=0;
  void *pr;
  volatile unsigned int * p;
  p=initgpio(&fd,pr);
  setop(p,4);
  cleangpio(fd,(void*)p);
  return 0;
}
예제 #3
0
/**
 * @brief   LPC43xx I/O ports configuration.
 * @details GPIO unit registers initialization.
 *
 * @param[in] config    the LPC43xx ports configuration
 *
 * @notapi
 */
void _pal_lld_init(const PALConfig *config) {

  initgpio(GPIO0, &config->P0);
  initgpio(GPIO1, &config->P1);
  initgpio(GPIO2, &config->P2);
  initgpio(GPIO3, &config->P3);
#if LPC_HAS_GPIO4
  initgpio(GPIO4, &config->P4);
#endif
  initgpio(GPIO5, &config->P5);

#if LPC_HAS_GPIO6
  initgpio(GPIO6, &config->P6);
#endif

#if LPC_HAS_GPIO7
  initgpio(GPIO7, &config->P7);
#endif
}
예제 #4
0
/**
 * @brief   STM32 I/O ports configuration.
 * @details Ports A-D(E, F, G, H) clocks enabled.
 *
 * @param[in] config    the STM32 ports configuration
 *
 * @notapi
 */
void _pal_lld_init(const PALConfig *config) {

    /*
     * Enables the GPIO related clocks.
     */
#if defined(STM32L4XX)
    RCC->AHB2ENR   |= AHB1_EN_MASK;
#endif

    /*
     * Initial GPIO setup.
     */
#if STM32_HAS_GPIOA
    initgpio(GPIOA, &config->PAData);
#endif
#if STM32_HAS_GPIOB
    initgpio(GPIOB, &config->PBData);
#endif
#if STM32_HAS_GPIOC
    initgpio(GPIOC, &config->PCData);
#endif
#if STM32_HAS_GPIOD
    initgpio(GPIOD, &config->PDData);
#endif
#if STM32_HAS_GPIOE
    initgpio(GPIOE, &config->PEData);
#endif
#if STM32_HAS_GPIOF
    initgpio(GPIOF, &config->PFData);
#endif
#if STM32_HAS_GPIOG
    initgpio(GPIOG, &config->PGData);
#endif
#if STM32_HAS_GPIOH
    initgpio(GPIOH, &config->PHData);
#endif
#if STM32_HAS_GPIOI
    initgpio(GPIOI, &config->PIData);
#endif
#if STM32_HAS_GPIOJ
    initgpio(GPIOJ, &config->PJData);
#endif
#if STM32_HAS_GPIOK
    initgpio(GPIOK, &config->PKData);
#endif
}