STM32F373 - Strange sigma-delta AD behaviour
My colleague uses STM32F373 and he found a strange behaviour with SD AD. Actually, this behaviour is described in ref. manual, but I am just curious why it is like that...
He starts SD AD conversion with software command. After that he writes a content ofSDADC_RDATAR register to a variable. It works fine, if SFR windows in IDE are not opened. If SFRs are open, then the value of AD conversion in SFR becomes correct, but after that, variable doesn't change - it stays at zero. We found out (in ref. manual), that
SDADC_RDATAR is cleared as soon as it is read. Thus, when SFR read (update) its value, the register is cleared and then variable is written with 0.
This behaviour is quite distracting. If you have SFRs opened while debugging, program doesn't work. This behaviour is not typical for normal (not sigma-delta) AD. There, DR register is not cleared when it is read.Can anyone explain, why this is needed with sigma-delta AD??Thanks #sigma-delta #ad