/** * @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 }
int main() { int fd=0; void *pr; volatile unsigned int * p; p=initgpio(&fd,pr); setop(p,4); cleangpio(fd,(void*)p); return 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 }
/** * @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 }