hi
Fork of Nucleo_Hello_Encoder by
Diff: Encoder/EncoderMspInitF0.cpp
- Revision:
- 0:ee5cb967aa17
- Child:
- 1:cd7b42c99ff8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Encoder/EncoderMspInitF0.cpp Sat Jan 10 20:06:07 2015 +0000 @@ -0,0 +1,30 @@ +#include "mbed.h" +/* + * HAL_TIM_Encoder_MspInit() + * Overrides the __weak function stub in stm32f4xx_hal_tim.h + * + * Edit the below for your preferred pin wiring & pullup/down + * I have encoder common at 3V3, using GPIO_PULLDOWN on inputs. + * Encoder A&B outputs connected directly to GPIOs. + * + * All Nucleos support encoders, from 030 up. + * On 030, there's only TIM3 @ AF1 PA6 PA7 (D11 D12) + */ + +#ifdef TARGET_STM32F0 +void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef *htim) +{ + GPIO_InitTypeDef GPIO_InitStruct; + + if (htim->Instance == TIM3) { //PA6 PA7 = Nucleo D12 D11 + __TIM3_CLK_ENABLE(); + __GPIOA_CLK_ENABLE(); + GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_PULLDOWN; + GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF1_TIM3; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + } +} +#endif \ No newline at end of file