I am not sure if I am posting too many queries, but I guess I have no choice but to ask for help in this forum.
I am using in internal EEPROM of STM32L151 controller. I have also enabled some interrupts (external interrupt and timer interrupt). I am driving a thyristor using zero cross interrupt and a timer to control light intensity of a bulb. Everything works normally, till I try and save some data in the internal EEPROM. The size of the data is about 26 bytes.I am using the following functions, which are part of the STM library.
1. HAL_FLASHEx_DATAEEPROM_Erase (TYPEERASEDATA_BYTE,address);
2. HAL_FLASHEx_DATAEEPROM_Program (FLASH_TYPEPROGRAMDATA_FASTBYTE,address,*ptr);
The bulb flickers when I write data to EEPROM. This means, generic and/or timer interrupts are being ignored while data is being written to EEPROM. I tried to see the functions but I did not find anything related to interrupts as far as I could see. These functions depend on Systick, which is again an interrupt, but I think this interrupt is non-maskable and occurs. Can someone confirm if interrupts are being ignored during write/erase cycles? If so is there a way out? There is no provision for external EEPROM on the board and I have run out of time. Any help will be highly appreciated. Thanks.