Da der STM32-PerformanceStick, der bereits im ersten Artikel dieser Serie beschrieben wurde, aus Gründen des Performance-Wettrennens zwischen ARM7 und Cortex-M3 je einen der beiden Controller enthält, kann der ARM7-Controller auch dazu genutzt werden, um den Stromverbrauch des STM32 real zu messen. Hierbei handelt es sich um eine sehr weite Spanne (34 mA bis 2 µA). Deshalb wurden zwei Shuntwiderstände umschaltbar eingebaut, um den Messbereich umschalten zu können. Mit der mitgelieferten Dashboard-Software lassen sich die Eigenschaften des STM32 steuern, während der ARM7-Controller den entsprechenden realen Stromverbrauch des STM32 misst. Veränderungen im Feld „Clock Settings“ (siehe Bild) zeigen die Abhängigkeit des Stromverbrauchs von der Frequenz. Auswählbar sind einige Frequenzen mit den angegebenen Teilerwerten für CPU und Busse.
Der oben beschriebene Spareffekt der Reduktion der Frequenz auf den Strom wird deutlich. Im unteren Feld kann die LED auf an, aus oder blinkend geschaltet werden. Da die LED vom Mikrocontrollerpin gespeist wird, wird dieser Strom auch mitgemessen. Zur stabileren Messung empfiehlt es sich, die LED auszuschalten. In den Feldern nebenan können einige ausgewählte Peripherieeinheiten zu- oder abgeschaltet werden. Auch wenn die Auswirkung eines Peripherals nur klein ist, kann dies in der Summe doch einige Milliampere bedeuten.
Auch die Auswirkungen der Einsparung abgeschalteter Peripherie bei verschiedenen Frequenzen werden sichtbar. Besonders beeindruckend sind die Auswirkungen bei den Stromsparmodi. Durch Klick auf die Felder „Sleep“, „Stop“ oder „Standby“ wird der Controller in diesen Zustand geschaltet, und die oben genannten Werte werden gemessen. Durch Klick auf „Run“ wird der Controller wieder aufgeweckt. Im Feld „Wake-up Time“ wird die Aufweckzeitdauer laut Datenbuch aus diesem Modus angegeben. Hiermit bietet der Stick eine schöne Möglichkeit, den Stromverbrauch eines realen STM32 genau in den Zuständen zu messen, die für die eigene Applikation wichtig sind. Die im Quellcode mitgelieferten Beispiele zeigen auf, wie dies programmiert wird; sie können als Ausgangspunkt für die eigene Entwicklung genutzt werden.