AnsweredAssumed Answered

STM32F373 - Strange sigma-delta AD behaviour

Question asked by obid.matic on Oct 21, 2015
Latest reply on Oct 21, 2015 by obid.matic
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 of SDADC_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??