5 #define RCC_BIT_CMD(ptr, mask, state) do { if (state != DISABLE) { ptr |= mask; } else { ptr &= ~mask; } } while(0)
8 void RCC_ClockCmd(rccPeriphTag_t periphTag
, FunctionalState NewState
)
10 int tag
= periphTag
>> 5;
11 uint32_t mask
= 1 << (periphTag
& 0x1f);
16 RCC_BIT_CMD(RCC
->AHBENR
, mask
, NewState
);
20 RCC_BIT_CMD(RCC
->APB2ENR
, mask
, NewState
);
23 RCC_BIT_CMD(RCC
->APB1ENR
, mask
, NewState
);
25 #if defined(STM32F4) || defined(STM32F7)
27 RCC_BIT_CMD(RCC
->AHB1ENR
, mask
, NewState
);
33 void RCC_ResetCmd(rccPeriphTag_t periphTag
, FunctionalState NewState
)
35 int tag
= periphTag
>> 5;
36 uint32_t mask
= 1 << (periphTag
& 0x1f);
41 RCC_BIT_CMD(RCC
->AHBRSTR
, mask
, NewState
);
45 RCC_BIT_CMD(RCC
->APB2RSTR
, mask
, NewState
);
48 RCC_BIT_CMD(RCC
->APB1RSTR
, mask
, NewState
);
50 #if defined(STM32F4) || defined(STM32F7)
52 RCC_BIT_CMD(RCC
->AHB1RSTR
, mask
, NewState
);