Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of BSP_DISCO_F746NG by
stm32746g_discovery_eeprom.h
00001 /** 00002 ****************************************************************************** 00003 * @file stm32746g_discovery_eeprom.h 00004 * @author MCD Application Team 00005 * @version V1.0.0 00006 * @date 25-June-2015 00007 * @brief This file contains all the functions prototypes for 00008 * the stm32746g_discovery_eeprom.c firmware driver. 00009 ****************************************************************************** 00010 * @attention 00011 * 00012 * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> 00013 * 00014 * Redistribution and use in source and binary forms, with or without modification, 00015 * are permitted provided that the following conditions are met: 00016 * 1. Redistributions of source code must retain the above copyright notice, 00017 * this list of conditions and the following disclaimer. 00018 * 2. Redistributions in binary form must reproduce the above copyright notice, 00019 * this list of conditions and the following disclaimer in the documentation 00020 * and/or other materials provided with the distribution. 00021 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00022 * may be used to endorse or promote products derived from this software 00023 * without specific prior written permission. 00024 * 00025 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00026 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00027 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00028 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00029 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00030 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00031 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00032 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00033 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00034 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00035 * 00036 ****************************************************************************** 00037 */ 00038 00039 /* Define to prevent recursive inclusion -------------------------------------*/ 00040 #ifndef __STM32746G_DISCOVERY_EEPROM_H 00041 #define __STM32746G_DISCOVERY_EEPROM_H 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00047 /* Includes ------------------------------------------------------------------*/ 00048 #include "stm32746g_discovery.h" 00049 00050 /** @addtogroup BSP 00051 * @{ 00052 */ 00053 00054 /** @addtogroup STM32746G_DISCOVERY 00055 * @{ 00056 */ 00057 00058 /** @addtogroup STM32746G_DISCOVERY_EEPROM 00059 * @brief This file includes the I2C EEPROM driver of STM32746G-Discovery board. 00060 * @{ 00061 */ 00062 00063 /** @defgroup STM32746G_DISCOVERY_EEPROM_Exported_Types STM32746G_DISCOVERY_EEPROM Exported Types 00064 * @{ 00065 */ 00066 /** 00067 * @} 00068 */ 00069 00070 /** @defgroup STM32746G_DISCOVERY_EEPROM_Exported_Constants STM32746G_DISCOVERY_EEPROM Exported Constants 00071 * @{ 00072 */ 00073 /* EEPROM hardware address and page size */ 00074 #define EEPROM_PAGESIZE ((uint8_t)4) 00075 #define EEPROM_MAX_SIZE ((uint16_t)0x2000) /* 64Kbit */ 00076 00077 00078 /* Maximum number of trials for EEPROM_WaitEepromStandbyState() function */ 00079 #define EEPROM_MAX_TRIALS ((uint32_t)3000) 00080 00081 #define EEPROM_OK ((uint32_t)0) 00082 #define EEPROM_FAIL ((uint32_t)1) 00083 #define EEPROM_TIMEOUT ((uint32_t)2) 00084 /** 00085 * @} 00086 */ 00087 00088 /** @defgroup STM32746G_DISCOVERY_EEPROM_Exported_Macros STM32746G_DISCOVERY_EEPROM Exported Macros 00089 * @{ 00090 */ 00091 /** 00092 * @} 00093 */ 00094 00095 /** @addtogroup STM32746G_DISCOVERY_EEPROM_Exported_Functions 00096 * @{ 00097 */ 00098 uint32_t BSP_EEPROM_Init(void); 00099 uint8_t BSP_EEPROM_DeInit(void); 00100 uint32_t BSP_EEPROM_ReadBuffer(uint8_t* pBuffer, uint16_t ReadAddr, uint16_t* NumByteToRead); 00101 uint32_t BSP_EEPROM_WritePage(uint8_t* pBuffer, uint16_t WriteAddr, uint8_t* NumByteToWrite); 00102 uint32_t BSP_EEPROM_WriteBuffer(uint8_t* pBuffer, uint16_t WriteAddr, uint16_t NumByteToWrite); 00103 uint32_t BSP_EEPROM_WaitEepromStandbyState(void); 00104 00105 /* USER Callbacks: This function is declared as __weak in EEPROM driver and 00106 should be implemented into user application. 00107 BSP_EEPROM_TIMEOUT_UserCallback() function is called whenever a timeout condition 00108 occurs during communication (waiting on an event that doesn't occur, bus 00109 errors, busy devices ...). */ 00110 void BSP_EEPROM_TIMEOUT_UserCallback(void); 00111 00112 /* Link function for I2C EEPROM peripheral */ 00113 void EEPROM_IO_Init(void); 00114 HAL_StatusTypeDef EEPROM_IO_WriteData(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pBuffer, uint32_t BufferSize); 00115 HAL_StatusTypeDef EEPROM_IO_ReadData(uint16_t DevAddress, uint16_t MemAddress, uint8_t *pBuffer, uint32_t BufferSize); 00116 HAL_StatusTypeDef EEPROM_IO_IsDeviceReady(uint16_t DevAddress, uint32_t Trials); 00117 00118 /** 00119 * @} 00120 */ 00121 00122 /** 00123 * @} 00124 */ 00125 00126 /** 00127 * @} 00128 */ 00129 00130 /** 00131 * @} 00132 */ 00133 00134 #ifdef __cplusplus 00135 } 00136 #endif 00137 00138 #endif /* __STM32746G_DISCOVERY_EEPROM_H */ 00139 00140 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Wed Jul 13 2022 13:25:21 by
1.7.2
