2011-09-17 05:55 AM
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 #stm32l-discovery2011-09-17 07:25 AM
Try Section 4 of the datasheet. Table 4
for example PE14 is pin 14 in bank E, and can either be a GPIO or SPI1_MISO http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00277537.pdfhttp://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00277537.pdf
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00240193.pdf2011-09-20 06:24 AM
Understood
Thanks :)