84 lines
2.4 KiB
C
84 lines
2.4 KiB
C
/* USER CODE BEGIN Header */
|
||
/**
|
||
******************************************************************************
|
||
* @file gpio.c
|
||
* @brief This file provides code for the configuration
|
||
* of all used GPIO pins.
|
||
******************************************************************************
|
||
* @attention
|
||
*
|
||
* Copyright (c) 2024 STMicroelectronics.
|
||
* All rights reserved.
|
||
*
|
||
* This software is licensed under terms that can be found in the LICENSE file
|
||
* in the root directory of this software component.
|
||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
||
*
|
||
******************************************************************************
|
||
*/
|
||
/* USER CODE END Header */
|
||
|
||
/* Includes ------------------------------------------------------------------*/
|
||
#include "gpio.h"
|
||
|
||
/* USER CODE BEGIN 0 */
|
||
|
||
/* USER CODE END 0 */
|
||
|
||
/*----------------------------------------------------------------------------*/
|
||
/* Configure GPIO */
|
||
/*----------------------------------------------------------------------------*/
|
||
/* USER CODE BEGIN 1 */
|
||
|
||
/* USER CODE END 1 */
|
||
|
||
/** Configure pins
|
||
PH0-OSC_IN (PH0) ------> RCC_OSC_IN
|
||
PH1-OSC_OUT (PH1) ------> RCC_OSC_OUT
|
||
*/
|
||
void MX_GPIO_Init(void)
|
||
{
|
||
|
||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||
|
||
/* GPIO Ports Clock Enable */
|
||
__HAL_RCC_GPIOH_CLK_ENABLE();
|
||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||
|
||
/*Configure GPIO pins : PA2 PA4 */
|
||
GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_4;
|
||
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
|
||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||
|
||
/* EXTI interrupt init*/
|
||
HAL_NVIC_SetPriority(EXTI2_IRQn, 0, 0);
|
||
HAL_NVIC_EnableIRQ(EXTI2_IRQn);
|
||
|
||
HAL_NVIC_SetPriority(EXTI4_IRQn, 0, 0);
|
||
HAL_NVIC_EnableIRQ(EXTI4_IRQn);
|
||
|
||
}
|
||
|
||
/* USER CODE BEGIN 2 */
|
||
volatile uint8_t captureFlag = 0;
|
||
extern uint32_t G_StartMillis;
|
||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||
{
|
||
if (GPIO_Pin == GPIO_PIN_2)
|
||
{
|
||
// æ£?查æ<C2A5>•èŽ·æ ‡å¿—ï¼Œé<C592>¿å…<C3A5>é‡<C3A9>å¤<C3A5>æ<EFBFBD>•获
|
||
if (!captureFlag)
|
||
{
|
||
// 处ç<E2809E>†ä¸Šå<C5A0>‡æ²¿è§¦å<C2A6>‘事ä»?
|
||
G_StartMillis=0;
|
||
G_StartMillis = HAL_GetTick(); //获å<C2B7>–当å‰<C3A5>系统时间
|
||
|
||
// ç¦<C3A7>ç”¨å¯¹åº”çš„å¤–éƒ¨ä¸æ–,防æ¢å†<C3A5>次触å<C2A6>‘
|
||
HAL_NVIC_DisableIRQ(EXTI2_IRQn);
|
||
captureFlag = 1; // 设置æ<C2AE>•èŽ·æ ‡å¿—ä¸ºå·²æ<C2B2>•获
|
||
}
|
||
}
|
||
}
|
||
/* USER CODE END 2 */
|