/** ****************************************************************************** * @file I2C/I2C_TwoBoards_ComDMA/Inc/main.h * @author MCD Application Team * @brief Header for main.c module ****************************************************************************** * @attention * * Copyright (c) 2016 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 "stm32f0xx_hal.h" #include "stm32f0xx_nucleo.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 I2C1 #define RCC_PERIPHCLK_I2Cx RCC_PERIPHCLK_I2C1 #define RCC_I2CxCLKSOURCE_SYSCLK RCC_I2C1CLKSOURCE_SYSCLK #define I2Cx_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE() #define I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define I2Cx_DMA_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE() #define I2Cx_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET() #define I2Cx_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET() /* Definition for I2Cx Pins */ #define I2Cx_SCL_PIN GPIO_PIN_6 #define I2Cx_SCL_GPIO_PORT GPIOB #define I2Cx_SDA_PIN GPIO_PIN_7 #define I2Cx_SDA_GPIO_PORT GPIOB #define I2Cx_SCL_SDA_AF GPIO_AF1_I2C1 /* Definition for I2Cx's NVIC */ #define I2Cx_IRQn I2C1_IRQn #define I2Cx_IRQHandler I2C1_IRQHandler /* Definition for I2Cx's DMA */ #define I2Cx_DMA DMA1 #define I2Cx_DMA_INSTANCE_TX DMA1_Channel2 #define I2Cx_DMA_INSTANCE_RX DMA1_Channel3 /* Definition for I2Cx's DMA NVIC */ #define I2Cx_DMA_IRQn DMA1_Channel2_3_IRQn #define I2Cx_DMA_IRQHandler DMA1_Channel2_3_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 */