/** | |
****************************************************************************** | |
* @file iar_stm32f407zg_sk.h | |
* @brief This file contains definitions for Leds, push-buttons | |
* and COM ports hardware resources. | |
****************************************************************************** | |
* @copy | |
* | |
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS | |
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE | |
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY | |
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING | |
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE | |
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. | |
* | |
* <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2> | |
*/ | |
/* Define to prevent recursive inclusion -------------------------------------*/ | |
#ifndef __IAR_STM32F407ZG_SK_H | |
#define __IAR_STM32F407ZG_SK_H | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
/* Includes ------------------------------------------------------------------*/ | |
#include "stm32f4xx.h" | |
typedef enum | |
{ | |
LED1 = 0, | |
LED2 = 1, | |
LED3 = 2, | |
LED4 = 3 | |
} Led_TypeDef; | |
typedef enum | |
{ | |
BUTTON_WAKEUP = 0, | |
BUTTON_TAMPER = 1, | |
BUTTON_USER = 2, | |
BUTTON_RIGHT = 3, | |
BUTTON_LEFT = 4, | |
BUTTON_UP = 5, | |
BUTTON_DOWN = 6, | |
BUTTON_SEL = 7 | |
} Button_TypeDef; | |
typedef enum | |
{ | |
BUTTON_MODE_GPIO = 0, | |
BUTTON_MODE_EXTI = 1 | |
} ButtonMode_TypeDef; | |
typedef enum | |
{ | |
COM1 = 0, | |
COM2 = 1 | |
} COM_TypeDef; | |
#define LEDn 4 | |
#define LED1_PIN GPIO_Pin_6 | |
#define LED1_GPIO_PORT GPIOF | |
#define LED1_GPIO_CLK RCC_AHB1Periph_GPIOF | |
#define LED2_PIN GPIO_Pin_7 | |
#define LED2_GPIO_PORT GPIOF | |
#define LED2_GPIO_CLK RCC_AHB1Periph_GPIOF | |
#define LED3_PIN GPIO_Pin_8 | |
#define LED3_GPIO_PORT GPIOF | |
#define LED3_GPIO_CLK RCC_AHB1Periph_GPIOF | |
#define LED4_PIN GPIO_Pin_9 | |
#define LED4_GPIO_PORT GPIOF | |
#define LED4_GPIO_CLK RCC_AHB1Periph_GPIOF | |
/** | |
* @} | |
*/ | |
/** @addtogroup IAR_STM32F407ZG_SK_LOW_LEVEL_BUTTON | |
* @{ | |
*/ | |
#define BUTTONn 8 /**/ | |
/** | |
* @brief Wakeup push-button | |
*/ | |
#define WAKEUP_BUTTON_PIN GPIO_Pin_0 | |
#define WAKEUP_BUTTON_GPIO_PORT GPIOA | |
#define WAKEUP_BUTTON_GPIO_CLK RCC_AHB1Periph_GPIOA | |
#define WAKEUP_BUTTON_EXTI_LINE EXTI_Line0 | |
#define WAKEUP_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOA | |
#define WAKEUP_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource0 | |
#define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn | |
/** | |
* @brief Tamper push-button | |
*/ | |
#define TAMPER_BUTTON_PIN GPIO_Pin_13 | |
#define TAMPER_BUTTON_GPIO_PORT GPIOC | |
#define TAMPER_BUTTON_GPIO_CLK RCC_AHB1Periph_GPIOC | |
#define TAMPER_BUTTON_EXTI_LINE EXTI_Line13 | |
#define TAMPER_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOC | |
#define TAMPER_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource13 | |
#define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn | |
/** | |
* @brief Key push-button | |
*/ | |
#define USER_BUTTON_PIN GPIO_Pin_6 | |
#define USER_BUTTON_GPIO_PORT GPIOG | |
#define USER_BUTTON_GPIO_CLK RCC_AHB1Periph_GPIOG | |
#define USER_BUTTON_EXTI_LINE EXTI_Line6 | |
#define USER_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOG | |
#define USER_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource6 | |
#define USER_BUTTON_EXTI_IRQn EXTI9_5_IRQn | |
/** | |
* @brief Joystick Right | |
*/ | |
#define RIGHT_BUTTON_PIN GPIO_Pin_3 | |
#define RIGHT_BUTTON_GPIO_PORT GPIOC | |
#define RIGHT_BUTTON_GPIO_CLK RCC_AHB1Periph_GPIOC | |
#define RIGHT_BUTTON_EXTI_LINE EXTI_Line3 | |
#define RIGHT_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOC | |
#define RIGHT_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource3 | |
#define RIGHT_BUTTON_EXTI_IRQn EXTI3_IRQn | |
/** | |
* @brief Joystick Left | |
*/ | |
#define LEFT_BUTTON_PIN GPIO_Pin_11 | |
#define LEFT_BUTTON_GPIO_PORT GPIOG | |
#define LEFT_BUTTON_GPIO_CLK RCC_AHB1Periph_GPIOG | |
#define LEFT_BUTTON_EXTI_LINE EXTI_Line11 | |
#define LEFT_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOG | |
#define LEFT_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource11 | |
#define LEFT_BUTTON_EXTI_IRQn EXTI15_10_IRQn | |
/** | |
* @brief Joystick Up | |
*/ | |
#define UP_BUTTON_PIN GPIO_Pin_7 | |
#define UP_BUTTON_GPIO_PORT GPIOG | |
#define UP_BUTTON_GPIO_CLK RCC_AHB1Periph_GPIOG | |
#define UP_BUTTON_EXTI_LINE EXTI_Line7 | |
#define UP_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOG | |
#define UP_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource7 | |
#define UP_BUTTON_EXTI_IRQn EXTI9_5_IRQn | |
/** | |
* @brief Joystick Down | |
*/ | |
#define DOWN_BUTTON_PIN GPIO_Pin_8 | |
#define DOWN_BUTTON_GPIO_PORT GPIOG | |
#define DOWN_BUTTON_GPIO_CLK RCC_AHB1Periph_GPIOG | |
#define DOWN_BUTTON_EXTI_LINE EXTI_Line8 | |
#define DOWN_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOG | |
#define DOWN_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource8 | |
#define DOWN_BUTTON_EXTI_IRQn EXTI9_5_IRQn | |
/** | |
* @brief Joystick Sel | |
*/ | |
#define SEL_BUTTON_PIN GPIO_Pin_15 | |
#define SEL_BUTTON_GPIO_PORT GPIOG | |
#define SEL_BUTTON_GPIO_CLK RCC_AHB1Periph_GPIOG | |
#define SEL_BUTTON_EXTI_LINE EXTI_Line15 | |
#define SEL_BUTTON_EXTI_PORT_SOURCE EXTI_PortSourceGPIOG | |
#define SEL_BUTTON_EXTI_PIN_SOURCE EXTI_PinSource15 | |
#define SEL_BUTTON_EXTI_IRQn EXTI15_10_IRQn | |
/** | |
* @} | |
*/ | |
/** @addtogroup IAR_STM32F407ZG_SK_LOW_LEVEL_COM | |
* @{ | |
*/ | |
#define COMn 2 | |
/** | |
* @brief Definition for COM port1, connected to USART6 | |
*/ | |
#define EVAL_COM1 USART6 | |
#define EVAL_COM1_CLK RCC_APB2Periph_USART6 | |
#define EVAL_COM1_TX_PIN GPIO_Pin_6 | |
#define EVAL_COM1_TX_GPIO_PORT GPIOC | |
#define EVAL_COM1_TX_GPIO_CLK RCC_AHB1Periph_GPIOC | |
#define EVAL_COM1_TX_SOURCE GPIO_PinSource6 | |
#define EVAL_COM1_TX_AF GPIO_AF_USART6 | |
#define EVAL_COM1_RX_PIN GPIO_Pin_9 | |
#define EVAL_COM1_RX_GPIO_PORT GPIOG | |
#define EVAL_COM1_RX_GPIO_CLK RCC_AHB1Periph_GPIOG | |
#define EVAL_COM1_RX_SOURCE GPIO_PinSource9 | |
#define EVAL_COM1_RX_AF GPIO_AF_USART6 | |
#define EVAL_COM1_IRQn USART6_IRQn | |
/** | |
* @brief Definition for COM port2, connected to USART3 | |
*/ | |
#define EVAL_COM2 USART3 | |
#define EVAL_COM2_CLK RCC_APB1Periph_USART3 | |
#define EVAL_COM2_TX_PIN GPIO_Pin_8 | |
#define EVAL_COM2_TX_GPIO_PORT GPIOD | |
#define EVAL_COM2_TX_GPIO_CLK RCC_AHB1Periph_GPIOD | |
#define EVAL_COM2_TX_SOURCE GPIO_PinSource8 | |
#define EVAL_COM2_TX_AF GPIO_AF_USART3 | |
#define EVAL_COM2_RX_PIN GPIO_Pin_9 | |
#define EVAL_COM2_RX_GPIO_PORT GPIOD | |
#define EVAL_COM2_RX_GPIO_CLK RCC_AHB1Periph_GPIOD | |
#define EVAL_COM2_RX_SOURCE GPIO_PinSource9 | |
#define EVAL_COM2_RX_AF GPIO_AF_USART3 | |
#define EVAL_COM2_RTS_PIN GPIO_Pin_12 | |
#define EVAL_COM2_RTS_GPIO_PORT GPIOD | |
#define EVAL_COM2_RTS_GPIO_CLK RCC_AHB1Periph_GPIOD | |
#define EVAL_COM2_RTS_SOURCE GPIO_PinSource12 | |
#define EVAL_COM2_RTS_AF GPIO_AF_USART3 | |
#define EVAL_COM2_CTS_PIN GPIO_Pin_11 | |
#define EVAL_COM2_CTS_GPIO_PORT GPIOD | |
#define EVAL_COM2_CTS_GPIO_CLK RCC_AHB1Periph_GPIOD | |
#define EVAL_COM2_CTS_SOURCE GPIO_PinSource11 | |
#define EVAL_COM2_CTS_AF GPIO_AF_USART3 | |
#define EVAL_COM2_IRQn USART3_IRQn | |
/** | |
* @BUZZER | |
*/ | |
#define BUZZER_GPIO_PIN GPIO_Pin_10 | |
#define BUZZER_GPIO_PORT GPIOA | |
#define BUZZER_GPIO_CLK RCC_AHB1Periph_GPIOA | |
#define BUZZER_PIN_SOURCE GPIO_PinSource10 | |
#define BUZZER_TIM TIM1 | |
#define RCC_APB2PERIPH_BUZZER_TIM RCC_APB2Periph_TIM1 | |
#define BUZZER_PIN_AF GPIO_AF_TIM1 | |
/** | |
* @USB OTG | |
*/ | |
#define OTG_FS_VBUS_PIN GPIO_Pin_9 | |
#define OTG_FS_VBUS_PORT GPIOA | |
#define OTG_FS_VBUS_CLK RCC_AHB1Periph_GPIOA | |
#define OTG_FS_VBUS_SOURCE GPIO_PinSource9 | |
#define USB_FS_VBUSON_PIN GPIO_Pin_2 | |
#define USB_FS_VBUSON_PORT GPIOC | |
#define USB_FS_VBUSON_CLK RCC_AHB1Periph_GPIOC | |
#define USB_FS_VBUSON_SOURCE GPIO_PinSource2 | |
#define USB_FS_FAULT_PIN GPIO_Pin_10 | |
#define USB_FS_FAULT_PORT GPIOB | |
#define USB_FS_FAULT_CLK RCC_AHB1Periph_GPIOB | |
#define USB_FS_FAULT_SOURCE GPIO_PinSource10 | |
/** | |
* @USB HOST | |
*/ | |
#define OTG_HS_VBUS_PIN GPIO_Pin_13 | |
#define OTG_HS_VBUS_PORT GPIOB | |
#define OTG_HS_VBUS_CLK RCC_AHB1Periph_GPIOB | |
#define OTG_HS_VBUS_SOURCE GPIO_PinSource13 | |
#define USB_HS_VBUSON_PIN GPIO_Pin_3 | |
#define USB_HS_VBUSON_PORT GPIOE | |
#define USB_HS_VBUSON_CLK RCC_AHB1Periph_GPIOE | |
#define USB_HS_VBUSON_SOURCE GPIO_PinSource3 | |
#define USB_HS_FAULT_PIN GPIO_Pin_13 | |
#define USB_HS_FAULT_PORT GPIOD | |
#define USB_HS_FAULT_CLK RCC_AHB1Periph_GPIOD | |
#define USB_HS_FAULT_SOURCE GPIO_PinSource13 | |
#define OTG_HS_ID_PIN GPIO_Pin_12 | |
#define OTG_HS_ID_PORT GPIOB | |
#define OTG_HS_ID_CLK RCC_AHB1Periph_GPIOB | |
#define OTG_HS_ID_SOURCE GPIO_PinSource12 | |
/** | |
* @TRIMER | |
*/ | |
#define TRIMER_PIN GPIO_Pin_0 | |
#define TRIMER_PORT GPIOC | |
#define TRIMER_CLK RCC_AHB1Periph_GPIOC | |
#define TRIMER_SOURCE GPIO_PinSource0 | |
#define TRIMER_CHANNEL ADC_Channel_10 | |
/** @addtogroup IAR_STM32F407ZG_SK_LOW_LEVEL_SD_FLASH | |
* @{ | |
*/ | |
/** | |
* @SD | |
*/ | |
#define SD_CP_PIN GPIO_Pin_3 | |
#define SD_CP_PORT GPIOD | |
#define SD_CP_CLK RCC_AHB1Periph_GPIOD | |
#define SD_CP_SOURCE GPIO_PinSource3 | |
#define SD_WP_PIN GPIO_Pin_4 | |
#define SD_WP_PORT GPIOE | |
#define SD_WP_CLK RCC_AHB1Periph_GPIOE | |
#define SD_WP_SOURCE GPIO_PinSource4 | |
#define SD_CMD_PIN GPIO_Pin_2 | |
#define SD_CMD_PORT GPIOD | |
#define SD_CMD_CLK RCC_AHB1Periph_GPIOD | |
#define SD_CMD_SOURCE GPIO_PinSource2 | |
#define SD_D0_PIN GPIO_Pin_8 | |
#define SD_D0_PORT GPIOC | |
#define SD_D0_CLK RCC_AHB1Periph_GPIOC | |
#define SD_D0_SOURCE GPIO_PinSource8 | |
#define SD_D1_PIN GPIO_Pin_9 | |
#define SD_D1_PORT GPIOC | |
#define SD_D1_CLK RCC_AHB1Periph_GPIOC | |
#define SD_D1_SOURCE GPIO_PinSource9 | |
#define SD_D2_PIN GPIO_Pin_10 | |
#define SD_D2_PORT GPIOC | |
#define SD_D2_CLK RCC_AHB1Periph_GPIOC | |
#define SD_D2_SOURCE GPIO_PinSource10 | |
#define SD_D3_PIN GPIO_Pin_11 | |
#define SD_D3_PORT GPIOC | |
#define SD_D3_CLK RCC_AHB1Periph_GPIOC | |
#define SD_D3_SOURCE GPIO_PinSource11 | |
#define SD_CLK_PIN GPIO_Pin_12 | |
#define SD_CLK_PORT GPIOC | |
#define SD_CLK_CLK RCC_AHB1Periph_GPIOC | |
#define SD_CLK_SOURCE GPIO_PinSource12 | |
/** | |
* @brief SD FLASH SDIO Interface | |
*/ | |
#define SD_SDIO_DMA_STREAM3 3 | |
//#define SD_SDIO_DMA_STREAM6 6 | |
#ifdef SD_SDIO_DMA_STREAM3 | |
#define SD_SDIO_DMA_STREAM DMA2_Stream3 | |
#define SD_SDIO_DMA_CHANNEL DMA_Channel_4 | |
#define SD_SDIO_DMA_FLAG_FEIF DMA_FLAG_FEIF3 | |
#define SD_SDIO_DMA_FLAG_DMEIF DMA_FLAG_DMEIF3 | |
#define SD_SDIO_DMA_FLAG_TEIF DMA_FLAG_TEIF3 | |
#define SD_SDIO_DMA_FLAG_HTIF DMA_FLAG_HTIF3 | |
#define SD_SDIO_DMA_FLAG_TCIF DMA_FLAG_TCIF3 | |
#elif defined SD_SDIO_DMA_STREAM6 | |
#define SD_SDIO_DMA_STREAM DMA2_Stream6 | |
#define SD_SDIO_DMA_CHANNEL DMA_Channel_4 | |
#define SD_SDIO_DMA_FLAG_FEIF DMA_FLAG_FEIF6 | |
#define SD_SDIO_DMA_FLAG_DMEIF DMA_FLAG_DMEIF6 | |
#define SD_SDIO_DMA_FLAG_TEIF DMA_FLAG_TEIF6 | |
#define SD_SDIO_DMA_FLAG_HTIF DMA_FLAG_HTIF6 | |
#define SD_SDIO_DMA_FLAG_TCIF DMA_FLAG_TCIF6 | |
#endif /* SD_SDIO_DMA_STREAM3 */ | |
/** | |
* @} | |
*/ | |
/** | |
* @CAN | |
*/ | |
#define CAN_TX_PIN GPIO_Pin_9 | |
#define CAN_TX_PORT GPIOB | |
#define CAN_TX_CLK RCC_AHB1Periph_GPIOB | |
#define CAN_TX_AF GPIO_AF_CAN1 | |
#define CAN_TX_SOURCE GPIO_PinSource9 | |
#define CAN_RX_PIN GPIO_Pin_8 | |
#define CAN_RX_PORT GPIOB | |
#define CAN_RX_CLK RCC_AHB1Periph_GPIOB | |
#define CAN_RX_AF GPIO_AF_CAN1 | |
#define CAN_RX_SOURCE GPIO_PinSource8 | |
#define CAN_CTRL_PIN GPIO_Pin_6 | |
#define CAN_CTRL_PORT GPIOD | |
#define CAN_CTRL_CLK RCC_AHB1Periph_GPIOD | |
#define CAN_CTRL_SOURCE GPIO_PinSource6 | |
/** | |
* @} | |
*/ | |
/** | |
* @} | |
*/ | |
/** @defgroup IAR_STM32F407ZG_SK_LOW_LEVEL_Exported_Macros | |
* @{ | |
*/ | |
/** | |
* @} | |
*/ | |
/** @defgroup IAR_STM32F407ZG_SK_LOW_LEVEL_Exported_Functions | |
* @{ | |
*/ | |
void STM_EVAL_LEDInit(Led_TypeDef Led); | |
void STM_EVAL_LEDOn(Led_TypeDef Led); | |
void STM_EVAL_LEDOff(Led_TypeDef Led); | |
void STM_EVAL_LEDToggle(Led_TypeDef Led); | |
void STM_EVAL_PBInit(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode); | |
uint32_t STM_EVAL_PBGetState(Button_TypeDef Button); | |
void STM_EVAL_COMInit(COM_TypeDef COM, USART_InitTypeDef* USART_InitStruct); | |
/** | |
* @} | |
*/ | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif /* __IAR_STM32F407ZG_SK_H */ | |
/** | |
* @} | |
*/ | |
/** | |
* @} | |
*/ | |
/** | |
* @} | |
*/ | |
/** | |
* @} | |
*/ | |
/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/ |