0

我有一块带有 STM32F103RET6 的板子,上面有很多东西,还有一个连接到 GPIO 引脚的蓝色和绿色 LED。为了测试它是否正常工作,我正在使用 STM32 cube IDE 上传一个闪烁 LED 的程序,并且 LED 会打开,但延迟后它不会关闭。我已经尝试过使用我拥有的两个 LED,并且它们都发生了相同的情况,我选择的那个会打开,但它不会关闭(不会闪烁)。我正在使用的代码如下:

#include "main.h"
#include "usb_device.h"

I2C_HandleTypeDef hi2c1;
SPI_HandleTypeDef hspi1;

TIM_HandleTypeDef htim1;
TIM_HandleTypeDef htim2;
TIM_HandleTypeDef htim3;
TIM_HandleTypeDef htim4;

UART_HandleTypeDef huart3;

void SystemClock_Config(void);
static void MX_GPIO_Init(void);
static void MX_TIM1_Init(void);
static void MX_TIM2_Init(void);
static void MX_TIM3_Init(void);
static void MX_TIM4_Init(void);
static void MX_USART3_UART_Init(void);
static void MX_I2C1_Init(void);
static void MX_SPI1_Init(void);

int main(void)
{
 
  HAL_Init();

  SystemClock_Config();

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_TIM1_Init();
  MX_TIM2_Init();
  MX_TIM3_Init();
  MX_TIM4_Init();
  MX_USART3_UART_Init();
  MX_I2C1_Init();
  MX_SPI1_Init();
  MX_USB_DEVICE_Init();

  static unsigned short pin_state = 0;

  while (1)
  {
      pin_state = !pin_state;
      HAL_GPIO_WritePin(LED_G_GPIO_Port, LED_G_Pin, pin_state);
      HAL_Delay(500);
  }
}

我也尝试过HAL_GPIO_TogglePin,我得到了相同的结果。我相信问题不在于编码,因为它真的很简单,所以时钟配置肯定有问题。我正在使用 16 MHz 的外部振荡器。

感谢您的时间。

阿尔瑙

4

0 回答 0