typedef unsigned int uint32_t; typedef struct { volatile struct { uint32_t rsvd1 : 3; uint32_t COUNTER_ENABLE : 1; uint32_t rsvd2 : 28; } CTRL_bit; uint32_t spacer[2]; //0x04,0x08 volatile uint32_t CYCLE; //0x0C } pruCtrl; uint32_t volatile cnt; int main(void) { while (1) { cnt=(*((volatile pruCtrl*)0x8000)).CYCLE; if (cnt==0xFFFFFFFF) { (*((volatile pruCtrl*)0x8000)).CYCLE=0; (*((volatile pruCtrl*)0x8000)).CTRL_bit.COUNTER_ENABLE=1; } } }