AnsweredAssumed Answered

STM32L GPIO

Question asked by zappala_.riccardo on Sep 17, 2011
Latest reply on Sep 20, 2011 by zappala_.riccardo
Hi.
I am a student and i must do a project with the STM32L-Discovery using SPI.
I found this code:
/**
  * @brief  Changes the mapping of the specified pin.
  * @param  GPIOx: where x can be (A, B, C, D, E or H) to select the GPIO peripheral.
  * @param  GPIO_PinSource: specifies the pin for the Alternate function.
  *   This parameter can be GPIO_PinSourcex where x can be (0..15).
  * @param  GPIO_AFSelection: selects the pin to used as Alternat function.
  *   This parameter can be one of the following values:
  *     @arg GPIO_AF_RTC_50Hz: RTC 50/60 Hz synchronization
  *     @arg GPIO_AF_MCO: Microcontroller clock output
  *     @arg GPIO_AF_RTC_AF1: Time stamp, Tamper, Alarm A out, Alarm B out,
  *                           512 Hz clock output (with an LSE oscillator of 32.768 kHz)
  *     @arg GPIO_AF_WKUP: wakeup
  *     @arg GPIO_AF_SWJ: SWJ (SW and JTAG)
  *     @arg GPIO_AF_TRACE
  *     @arg GPIO_AF_TIM2
  *     @arg GPIO_AF_TIM3
  *     @arg GPIO_AF_TIM4
  *     @arg GPIO_AF_TIM9
  *     @arg GPIO_AF_TIM10
  *     @arg GPIO_AF_TIM11
  *     @arg GPIO_AF_I2C1
  *     @arg GPIO_AF_I2C2
  *     @arg GPIO_AF_SPI1
  *     @arg GPIO_AF_SPI2
  *     @arg GPIO_AF_USART1
  *     @arg GPIO_AF_USART2
  *     @arg GPIO_AF_USART3
  *     @arg GPIO_AF_USB
  *     @arg GPIO_AF_LCD
  *     @arg GPIO_AF_RI
  *     @arg GPIO_AF_EVENTOUT: Cortex-M3 EVENTOUT signal
  * @note: The pin should already been configured in Alternate Function mode(AF)
  *        using GPIO_InitStruct->GPIO_Mode = GPIO_Mode_AF
  * @note: Please refer to the Alternate function mapping table in the device 
  *        datasheet for the detailed mapping of the system and peripherals’
  *        alternate function I/O pins.  
  * @note: EVENTOUT is not mapped on PH0, PH1 and PH2.  
  * @retval None
  */
void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)
{
  uint32_t temp = 0x00;
  uint32_t temp_2 = 0x00;
  
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GPIO_PIN_SOURCE(GPIO_PinSource));
  assert_param(IS_GPIO_AF(GPIO_AF));
  
  temp = ((uint32_t)(GPIO_AF) << ((uint32_t)((uint32_t)GPIO_PinSource & (uint32_t)0x07) * 4)) ;
  GPIOx->AFR[GPIO_PinSource >> 0x03] &= ~((uint32_t)0xF << ((uint32_t)((uint32_t)GPIO_PinSource & (uint32_t)0x07) * 4)) ;
  temp_2 = GPIOx->AFR[GPIO_PinSource >> 0x03] | temp;
  GPIOx->AFR[GPIO_PinSource >> 0x03] = temp_2;
}

but i don't know which GPIO peripheral are A, B, C, D, E and H. I have looked it up in the serveral doc, but i didn't find it.
Can someone tell me which GPIO peripheral represent A, B, C, D, E and H?

Thanks

Outcomes