|
|
|
@ -70,54 +70,62 @@ |
|
|
|
|
void MX_GPIO_Init(void) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
LL_EXTI_InitTypeDef EXTI_InitStruct; |
|
|
|
|
LL_GPIO_InitTypeDef GPIO_InitStruct; |
|
|
|
|
LL_EXTI_InitTypeDef EXTI_InitStruct; |
|
|
|
|
LL_GPIO_InitTypeDef GPIO_InitStruct; |
|
|
|
|
|
|
|
|
|
/* GPIO Ports Clock Enable */ |
|
|
|
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC); |
|
|
|
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOD); |
|
|
|
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); |
|
|
|
|
/* GPIO Ports Clock Enable */ |
|
|
|
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOC); |
|
|
|
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOD); |
|
|
|
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA); |
|
|
|
|
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB); |
|
|
|
|
|
|
|
|
|
/**/ |
|
|
|
|
LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED1_Pin); |
|
|
|
|
LL_GPIO_ResetOutputPin(LED_GPIO_Port, LEDRX_Pin); |
|
|
|
|
LL_GPIO_ResetOutputPin(LED_GPIO_Port, LEDTX_Pin); |
|
|
|
|
LL_GPIO_SetOutputPin(RENUM_GPIO_Port, RENUM_Pin); |
|
|
|
|
/**/ |
|
|
|
|
|
|
|
|
|
/**/ |
|
|
|
|
/**/ |
|
|
|
|
// LL_GPIO_ResetOutputPin(GPIOA, NRF_CE_Pin|NRF_NSS_Pin);
|
|
|
|
|
|
|
|
|
|
/**/ |
|
|
|
|
GPIO_InitStruct.Pin = LED1_Pin|LEDRX_Pin|LEDTX_Pin; |
|
|
|
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; |
|
|
|
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW; |
|
|
|
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; |
|
|
|
|
LL_GPIO_Init(LED_GPIO_Port, &GPIO_InitStruct); |
|
|
|
|
|
|
|
|
|
/**/ |
|
|
|
|
GPIO_InitStruct.Pin = NRF_CE_Pin|NRF_NSS_Pin|RENUM_Pin; |
|
|
|
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; |
|
|
|
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW; |
|
|
|
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; |
|
|
|
|
LL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
|
|
|
|
/**/ |
|
|
|
|
GPIO_InitStruct.Pin = LED1_Pin | LEDRX_Pin | LEDTX_Pin; |
|
|
|
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; |
|
|
|
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW; |
|
|
|
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; |
|
|
|
|
LL_GPIO_Init(LED_GPIO_Port, &GPIO_InitStruct); |
|
|
|
|
|
|
|
|
|
/**/ |
|
|
|
|
GPIO_InitStruct.Pin = NRF_CE_Pin | NRF_NSS_Pin | RENUM_Pin; |
|
|
|
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; |
|
|
|
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW; |
|
|
|
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; |
|
|
|
|
LL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
|
|
|
|
|
|
|
|
|
GPIO_InitStruct.Pin = NRF_RESET_Pin; |
|
|
|
|
GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; |
|
|
|
|
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW; |
|
|
|
|
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; |
|
|
|
|
LL_GPIO_Init(NRF_RESET_GPIO_Port, &GPIO_InitStruct); |
|
|
|
|
|
|
|
|
|
#if 1 |
|
|
|
|
/**/ |
|
|
|
|
LL_GPIO_AF_SetEXTISource(LL_GPIO_AF_EXTI_PORTA, LL_GPIO_AF_EXTI_LINE1); // IRQ on PA1
|
|
|
|
|
/**/ |
|
|
|
|
LL_GPIO_AF_SetEXTISource(LL_GPIO_AF_EXTI_PORTA, LL_GPIO_AF_EXTI_LINE1); // IRQ on PA1
|
|
|
|
|
|
|
|
|
|
/**/ |
|
|
|
|
EXTI_InitStruct.Line_0_31 = LL_EXTI_LINE_1; |
|
|
|
|
EXTI_InitStruct.LineCommand = ENABLE; |
|
|
|
|
EXTI_InitStruct.Mode = LL_EXTI_MODE_IT; |
|
|
|
|
EXTI_InitStruct.Trigger = LL_EXTI_TRIGGER_FALLING; |
|
|
|
|
LL_EXTI_Init(&EXTI_InitStruct); |
|
|
|
|
/**/ |
|
|
|
|
EXTI_InitStruct.Line_0_31 = LL_EXTI_LINE_1; |
|
|
|
|
EXTI_InitStruct.LineCommand = ENABLE; |
|
|
|
|
EXTI_InitStruct.Mode = LL_EXTI_MODE_IT; |
|
|
|
|
EXTI_InitStruct.Trigger = LL_EXTI_TRIGGER_FALLING; |
|
|
|
|
LL_EXTI_Init(&EXTI_InitStruct); |
|
|
|
|
|
|
|
|
|
NVIC_EnableIRQ(EXTI2_IRQn); |
|
|
|
|
NVIC_EnableIRQ(EXTI1_IRQn); |
|
|
|
|
|
|
|
|
|
/**/ |
|
|
|
|
LL_GPIO_SetPinMode(NRF_IRQ_GPIO_Port, NRF_IRQ_Pin, LL_GPIO_MODE_FLOATING); |
|
|
|
|
/**/ |
|
|
|
|
LL_GPIO_SetPinMode(NRF_IRQ_GPIO_Port, NRF_IRQ_Pin, LL_GPIO_MODE_FLOATING); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED1_Pin); |
|
|
|
|
LL_GPIO_ResetOutputPin(LED_GPIO_Port, LEDRX_Pin); |
|
|
|
|
LL_GPIO_ResetOutputPin(LED_GPIO_Port, LEDTX_Pin); |
|
|
|
|
LL_GPIO_SetOutputPin(RENUM_GPIO_Port, RENUM_Pin); |
|
|
|
|
LL_GPIO_SetOutputPin(NRF_RESET_GPIO_Port, NRF_RESET_Pin); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* USER CODE BEGIN 2 */ |
|
|
|
|