I got the way to sent the default value of ADC_MR to serial port using the code as following unsigned long reg; reg = REG_ADC_MR; Serial.print("REG_ADC_MR = "); Serial.println(reg, HEX);

And the default value is "REG_ADC_MR = 103C0100", which is great.However, when I want to get the default value of DACC_MR using the similar code: unsigned long reg; reg = REG_DACC_MR; Serial.print("REG_DACC_MR = "); Serial.println(reg, HEX);

I can only get the result "REG_DACC_MR = 0", I checked the data sheet of SAM3X, I think there is something wrong with the default value 0. Since I think the "REFRESH" byte cannot be 0, otherwise the DACC won't work. So there should be something wrong with my code to get the default value. Does anyone has some experience on that? How to get the default value of arbitrary register of SAM3X?

when reset, DACC_MR=0x0After using analogWrite, DACC_MR=0x10000800This is what I got, you may follow the steps in analogWrite for detail.

Thank you! I got the same result by using "analogWrite()", but how can I change the default value of DACC_MR, for example, I wanted to make the refresh time shorter, I tried to modify the value of DACC_MR as following:

when I put 'DACC->DACC_MR = 10000400' at (1), it still appears "10000800" on serial monitor, when I put 'DACC->DACC_MR = 10000400' at (2), it appears "9810" on serial monitor, which is very strange and not meet my expection. It seem that the value of "DACC_MR" will change according to the instruction "analogWrite". But how can I modify its value to decrease the refreshing time of DAC?

It is better to put 0x before 10000400 which indicates hex number.Usually analogWrite will set DACC_MR the first time use.I don't think so -------- "I think the "REFRESH" byte cannot be 0, otherwise the DACC won't work."