What is "fault"? Have you erased UICR prior to trying to write?
Please have a look at this post.
I means that when I do that，the output voltage I measured is 3.3V instead of 1.8V. And, I did nothing before writing.
Did you follow the suggested code in the post I linked? You need to enable writing in the NVMC peripheral before you are allowed to write UICR from code.
yes,I tried the first answer in the post. And I measured the voltage turn to 1.8V. So far so good, but the voltage stay at 1.8 no matter how I change the value REGOUT0.Maybe there should be some extra handle?
You can only change the voltage down by writing to UICR. To change it higher again, you need to erase entire UICR. UICR is located in flash, and flash bits can only be changed from 1 to 0 in a write operation. To turn a bit from 0 to 1 will require erasing the whole flash page.