我有一块带有 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 的外部振荡器。
感谢您的时间。
阿尔瑙