/** ****************************************************************************** * @file I2C/I2C_EEPROM/Inc/main.h * @author MCD Application Team * @brief Header for main.c module ****************************************************************************** * @attention * * Copyright (c) 2017 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __MAIN_H #define __MAIN_H /* Includes ------------------------------------------------------------------*/ #include "stm32f4xx_hal.h" #include "stm32446e_eval.h" /* Exported types ------------------------------------------------------------*/ /* Exported constants --------------------------------------------------------*/ /* User can use this section to tailor I2Cx/I2Cx instance used and associated resources */ /* Definition for I2Cx clock resources */ #define I2Cx FMPI2C1 #define I2Cx_CLK_ENABLE() __HAL_RCC_FMPI2C1_CLK_ENABLE() #define I2Cx_DMA_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() #define I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() #define I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE() #define I2Cx_FORCE_RESET() __HAL_RCC_FMPI2C1_FORCE_RESET() #define I2Cx_RELEASE_RESET() __HAL_RCC_FMPI2C1_RELEASE_RESET() /* Definition for I2Cx Pins */ #define I2Cx_SCL_PIN GPIO_PIN_12 #define I2Cx_SCL_GPIO_PORT GPIOD #define I2Cx_SCL_AF GPIO_AF4_FMPI2C1 #define I2Cx_SDA_PIN GPIO_PIN_13 #define I2Cx_SDA_GPIO_PORT GPIOD #define I2Cx_SDA_AF GPIO_AF4_FMPI2C1 /* Definition for I2Cx's DMA */ #define I2Cx_TX_DMA_CHANNEL DMA_CHANNEL_2 #define I2Cx_RX_DMA_CHANNEL DMA_CHANNEL_2 #define I2Cx_DMA_INSTANCE_TX DMA1_Stream5 #define I2Cx_DMA_INSTANCE_RX DMA1_Stream2 /* Definition for I2Cx's DMA NVIC */ #define I2Cx_DMA_TX_IRQn DMA1_Stream5_IRQn #define I2Cx_DMA_RX_IRQn DMA1_Stream2_IRQn #define I2Cx_DMA_TX_IRQHandler DMA1_Stream5_IRQHandler #define I2Cx_DMA_RX_IRQHandler DMA1_Stream2_IRQHandler /* Definition for I2Cx's NVIC */ #define I2Cx_EV_IRQn FMPI2C1_EV_IRQn #define I2Cx_EV_IRQHandler FMPI2C1_EV_IRQHandler #define I2Cx_ER_IRQn FMPI2C1_ER_IRQn #define I2Cx_ER_IRQHandler FMPI2C1_ER_IRQHandler /* Size of Transmission buffer */ #define TXBUFFERSIZE (COUNTOF(aTxBuffer) - 1) /* Size of Reception buffer */ #define RXBUFFERSIZE TXBUFFERSIZE /* Exported macro ------------------------------------------------------------*/ #define COUNTOF(__BUFFER__) (sizeof(__BUFFER__) / sizeof(*(__BUFFER__))) /* Exported functions ------------------------------------------------------- */ #endif /* __MAIN_H */