DIY Logging Volt/Ampmeter
|
Go to the documentation of this file.
91 #ifdef HAL_FLASH_MODULE_ENABLED
130 static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data);
131 static void FLASH_SetErrorCode(
void);
132 extern void FLASH_PageErase(uint32_t PageAddress);
172 uint8_t nbiterations = 0;
181 #if defined(FLASH_BANK2_END)
187 #if defined(FLASH_BANK2_END)
214 for (index = 0U; index < nbiterations; index++)
216 FLASH_Program_HalfWord((Address + (2U*index)), (uint16_t)(Data >> (16U*index)));
218 #if defined(FLASH_BANK2_END)
227 #if defined(FLASH_BANK2_END)
278 #if defined(FLASH_BANK2_END)
323 FLASH_Program_HalfWord(Address, (uint16_t)Data);
334 uint32_t addresstmp = 0U;
337 #if defined(FLASH_BANK2_END)
350 FLASH_SetErrorCode();
360 #if defined(FLASH_BANK2_END)
388 addresstmp = pFlash.
Address + FLASH_PAGE_SIZE;
394 FLASH_PageErase(addresstmp);
400 pFlash.
Address = addresstmp = 0xFFFFFFFFU;
411 #if defined(FLASH_BANK2_END)
423 #if defined(FLASH_BANK2_END)
445 FLASH_Program_HalfWord(addresstmp, (uint16_t)pFlash.
Data);
472 #if defined(FLASH_BANK2_END)
494 pFlash.
Address += FLASH_PAGE_SIZE;
500 FLASH_PageErase(addresstmp);
547 FLASH_Program_HalfWord(addresstmp, (uint16_t)pFlash.
Data);
577 #if defined(FLASH_BANK2_END)
580 CLEAR_BIT(
FLASH->CR2, (FLASH_CR2_PG | FLASH_CR2_PER | FLASH_CR2_MER));
583 __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP_BANK1 | FLASH_IT_ERR_BANK1 | FLASH_IT_EOP_BANK2 | FLASH_IT_ERR_BANK2);
673 #if defined(FLASH_BANK2_END)
700 #if defined(FLASH_BANK2_END)
797 static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data)
802 #if defined(FLASH_BANK2_END)
808 #if defined(FLASH_BANK2_END)
818 *(
__IO uint16_t*)Address = Data;
857 FLASH_SetErrorCode();
865 #if defined(FLASH_BANK2_END)
900 FLASH_SetErrorCode();
914 static void FLASH_SetErrorCode(
void)
918 #if defined(FLASH_BANK2_END)
925 #if defined(FLASH_BANK2_END)
931 #if defined(FLASH_BANK2_END)
938 #if defined(FLASH_BANK2_END)
#define __HAL_FLASH_GET_FLAG(__FLAG__)
Get the specified FLASH flag status.
#define FLASH_FLAG_OPTVERR
HAL_StatusTypeDef HAL_FLASH_Lock(void)
HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
#define HAL_IS_BIT_CLR(REG, BIT)
HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)
@ FLASH_PROC_PROGRAMHALFWORD
This file contains all the functions prototypes for the HAL module driver.
void HAL_NVIC_SystemReset(void)
#define HAL_FLASH_ERROR_OPTV
void HAL_FLASH_IRQHandler(void)
#define IS_FLASH_TYPEPROGRAM(VALUE)
#define READ_BIT(REG, BIT)
uint32_t HAL_FLASH_GetError(void)
#define __HAL_FLASH_CLEAR_FLAG(__FLAG__)
Clear the specified FLASH flag.
__IO FLASH_ProcedureTypeDef ProcedureOnGoing
#define assert_param(expr)
#define __HAL_LOCK(__HANDLE__)
void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue)
#define FLASH_TYPEPROGRAM_WORD
#define __HAL_FLASH_ENABLE_IT(__INTERRUPT__)
Enable the specified FLASH interrupt.
__IO uint32_t DataRemaining
#define WRITE_REG(REG, VAL)
HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout)
#define HAL_FLASH_ERROR_NONE
FLASH handle Structure definition
#define FLASH_TIMEOUT_VALUE
#define __HAL_FLASH_DISABLE_IT(__INTERRUPT__)
Disable the specified FLASH interrupt.
HAL_StatusTypeDef
HAL Status structures definition.
#define FLASH_FLAG_WRPERR
void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue)
uint32_t HAL_GetTick(void)
#define HAL_FLASH_ERROR_WRP
HAL_StatusTypeDef HAL_FLASH_OB_Lock(void)
#define HAL_FLASH_ERROR_PROG
#define FLASH_TYPEPROGRAM_HALFWORD
#define SET_BIT(REG, BIT)
#define CLEAR_BIT(REG, BIT)
@ FLASH_PROC_PROGRAMDOUBLEWORD
#define __HAL_UNLOCK(__HANDLE__)
HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
void HAL_FLASH_OB_Launch(void)
HAL_StatusTypeDef HAL_FLASH_Unlock(void)