In my project (STM32F407, MDK-ARM4.54) I cannot change the values of peripheral registers in the watch window. The values are displayed correctly, but I cannot change them. (e. g. ADC1->JSQR - channel selection register of ADC1). Possibly it is due to the variable range (0x40000000 compared to 0x2000000)? The normal variables work well now, also the static members of classes, thank you very much.
I tried to open the system viewer to have a look at the ADC1 module there, but the system viewer sub-menu in MDK-ARM4.54 is displayed empty (not any sub-entries) - in earlier versions I think I could have a look at the controller modules there.
PS: It is not ultimately required for me, to change values of peripheral registers in the watch window, I can live with MDK 4.54 well - just it would be helpful, if this would work.
Are you sure that you really understood my problem?
I enter ADC1 in the watch window. Then I press the + to open the members. Then at JSQR it will show the current value correctly (if I do it like I described for the Blinky example, then the value will be just zero). If I change this value to e. g. "5", I can do this, but as soon I press Enter, it switches back to the init value (zero in the Blinky example above).
I tried the service support already 2 times, but both times the answer time was several weeks, and then just some poeple told me, that they did not understand my question, so please understand that I am not so eager to raise further support issues.
... but anyway this problem is not severe for me, as I could change the variable with system viewer, this is ok for me. (my other current post concerning BSV/BCV usage / saturated addition/subtraction with long long (or usage of inline assembly for STM32F4) is bringing MUCH more headache to me ... I hope that somebody might find some solution there, otherwise I might be forced to switch to some other compiler).
Hi,
> I enter ADC1 in the watch window. Then I press the + to open the members. > Then at JSQR it will show the current value correctly (if I do it like I > described for the Blinky example, then the value will be just zero). > If I change this value to e. g. "5", I can do this, but as soon I press > Enter, it switches back to the init value (zero in the Blinky example > above).
Sorry, I over read that you enter the "ADC1" manually, this seems to be the point. Can you please try and mouse right click on "ADC1", Send to Watch1 ?
. BR, /th.
I also tried this already.
I also tried to enter ADC1->JSQR in the watch window already.
Further I tried already to send ADC1->JSQR to the watch window ... .
Did you try already to enter ADC1 manually in the watch window? Either of these methods should work any way - and on my system none is working.
> Did you try already to enter ADC1 manually in the watch window? yes, I did and now (see my prev. posting) I see the problem.
> Either of these methods should work any way - and on my system none is working.
whoops ... I can see that the "manually entered" version is not running correctly, the others do work and that's why I could not see the problem in the first place.
We will have a closer look what happens there, and keep you informed.
Thanks for reporting!
ok - shame over me, you are right, I just tested again in my Blinky:
If you use right mouse key and "Add 'ADC1' to..." -> "Watch1", then it really works (it shows this address "((ADC_TypeDef *) ((((uint32_t)0x40000000) + 0x00010000) + 0x2000))" in the Name column of the watch window).
Only if you enter "ADC1" manually, then it will show only the values, but the value change fails.
Thanks for the info, now we have the same behavior reproducible on both sides :-) We'll work on this!