/*
 * gpio.cpp
 *
 *  Created on: 08. Aug. 2015
 *      Author: martin
 */
#include "stm32f4xx_hal.h" // muss immer ganz oben sein
//#include "stm32f4xx_hal_gpio.h"
//#include "stm32f4xx_hal_rcc.h"
#include "gpio.h"


void gpioInit()
{
	/* Variables */
	GPIO_InitTypeDef init;


	/* CLKs enable only if needed */
	__HAL_RCC_GPIOA_CLK_ENABLE();
	__HAL_RCC_GPIOC_CLK_ENABLE();
	//__HAL_RCC_GPIOB_CLK_ENABLE();


	/* Init Pins */

	init.Pin = GPIO_PIN_10 | GPIO_PIN_9;
	init.Mode = GPIO_MODE_AF_PP;
	init.Pull = GPIO_NOPULL;
	init.Alternate = GPIO_AF7_USART1;
	HAL_GPIO_Init(GPIOA, &init);

	// Pin5,Port A
	init.Pin = GPIO_PIN_5;
	init.Mode = GPIO_MODE_AF_PP; //GPIO_MODE_OUTPUT_PP;
	init.Pull = GPIO_NOPULL;
	init.Speed = GPIO_SPEED_FAST;
	init.Alternate = GPIO_AF1_TIM2; // PWM
	HAL_GPIO_Init(GPIOA, &init);

	//Button Pin 13, Port C
	init.Pin = GPIO_PIN_13;
	init.Mode = GPIO_MODE_INPUT;
	init.Pull = GPIO_NOPULL;
	HAL_GPIO_Init(GPIOC, &init);
}
