Files
433_STM32/Core/Src/gpio.c

138 lines
3.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* 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 as
* Analog
* Input
* Output
* EVENT_OUT
* EXTI
*/
void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(M0_GPIO_Port, M0_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, M1_Pin|RESET_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOB, W5500_CS_Pin|LED_RX_Pin|LED_TX_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOA, W5500_RESET_Pin|RL_Control_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : PAPin PAPin PAPin */
GPIO_InitStruct.Pin = M0_Pin|W5500_RESET_Pin|RL_Control_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pins : PBPin PBPin PBPin PBPin
PBPin */
GPIO_InitStruct.Pin = M1_Pin|RESET_Pin|W5500_CS_Pin|LED_RX_Pin
|LED_TX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = AUX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(AUX_GPIO_Port, &GPIO_InitStruct);
/*Configure GPIO pins : PBPin PBPin PBPin PBPin */
GPIO_InitStruct.Pin = MCU_DI1_Pin|MCU_DI2_Pin|MCU_DI3_Pin|MCU_DI4_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
/* USER CODE BEGIN 2 */
/**
* @brief 点亮LED_TX
* @note LED_TX为高电平有效Active High
* @retval None
*/
void gpio_led_tx_on(void)
{
HAL_GPIO_WritePin( LED_TX_GPIO_Port, LED_TX_Pin, GPIO_PIN_SET);
}
/**
* @brief 熄灭LED_TX
* @note LED_TX为高电平有效Active High
* @retval None
*/
void gpio_led_tx_off(void)
{
HAL_GPIO_WritePin( LED_TX_GPIO_Port, LED_TX_Pin, GPIO_PIN_RESET);
}
/**
* @brief 点亮LED_RX
* @note LED_RX为高电平有效Active High
* @retval None
*/
void gpio_led_rx_on(void)
{
HAL_GPIO_WritePin( LED_RX_GPIO_Port, LED_RX_Pin, GPIO_PIN_SET);
}
/**
* @brief 熄灭LED_RX
* @note LED_RX为高电平有效Active High
* @retval None
*/
void gpio_led_rx_off(void)
{
HAL_GPIO_WritePin( LED_RX_GPIO_Port, LED_RX_Pin, GPIO_PIN_RESET);
}
/* USER CODE END 2 */