STM32 - programová změna FLASH option byte
Sem tam se stane, že je třeba programově změnit FLASH option byte. Dostupných příkladů je ale málo a nejsou zcela transparentní. Zde je jednoduchý a názorný příklad jak v programu změnit FLASH option byte flag. // Příklad vypnutí IWDG ve STOP modu ... __disable_irq(); FLASH_OBProgramInitTypeDef pOBInit; HAL_FLASHEx_OBGetConfig(&pOBInit); if( pOBInit.USERConfig & (1 << 17) ) { // 17 bit = OB_USER_IWDG_STOP memset((void*)&pOBInit,0,sizeof(pOBInit)); pOBInit.OptionType = OPTIONBYTE_USER; pOBInit.USERType = OB_USER_IWDG_STOP; pOBInit.USERConfig = OB_IWDG_STOP_FREEZE; HAL_FLASH_Unlock(); __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR); // Clear the FLASH's pending flags....