No core_cm4.h, por que existe uma conversão como ((uint32_t) (int32_t) IRQn)?
No código a seguir de core_cm4.h, por que existe uma conversão dupla((uint32_t)(int32_t)IRQn)
?
Por exemplo, na seguinte função:
__STATIC_INLINE void NVIC_EnableIRQ(IRQn_Type IRQn)
{
NVIC->ISER[(((uint32_t)(int32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)(int32_t)IRQn) & 0x1FUL));
}
Qual é o propósito disso?