NUCLEO-F429ZI LED 不会闪烁
NUCLEO-F429ZI LED's wont blink
美好的一天
问题:
- 我试图使电路板上的三个 LED 闪烁,但 LED 不闪烁
我做了什么:
- 使用 CubeMX,我已经使用默认的引出线配置了开发板。
PB0 = LD1, PB7 = LD2, PB14 = LD3
- 我已将这些行添加到
main.c
以使 LED 闪烁。请注意,由于预期的硬故障,我已经注释掉了以太网初始化,因为我没有配置以太网和内存。
MX_GPIO_Init();
//MX_ETH_Init();
MX_SPI1_Init();
MX_USART3_UART_Init();
MX_USB_OTG_FS_PCD_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin(GPIOB, 0);
HAL_GPIO_TogglePin(GPIOB, 7);
HAL_GPIO_TogglePin(GPIOB, 14);
HAL_Delay(1000);
}
观察:
上面几行代码只有LD3会闪烁。如果我尝试只闪烁 LD3 并注释掉其他两个闪烁命令,那么 LD3 不再闪烁
如果我将三个 LED 的启动条件设置为高电平(在 gpio.c 或 CubeMX 中),那么所有三个 LED 都会打开,但之后它们不会闪烁。
有人知道这是怎么回事吗?
尴尬的是,这就是问题所在。 API HAL_GPIO_TogglePin() 需要非常具体的参数。
以下示例不起作用:
HAL_GPIO_TogglePin(A,12);
HAL_GPIO_TogglePin(GPIOA,12);
HAL_GPIO_TogglePin(A,GPIO_Pin_12);
请确保您使用正确的句柄和参数:
HAL_GPIO_TogglePin(GPIOA,GPIO_Pin_12);
美好的一天
问题:
- 我试图使电路板上的三个 LED 闪烁,但 LED 不闪烁
我做了什么:
- 使用 CubeMX,我已经使用默认的引出线配置了开发板。
PB0 = LD1, PB7 = LD2, PB14 = LD3
- 我已将这些行添加到
main.c
以使 LED 闪烁。请注意,由于预期的硬故障,我已经注释掉了以太网初始化,因为我没有配置以太网和内存。
MX_GPIO_Init();
//MX_ETH_Init();
MX_SPI1_Init();
MX_USART3_UART_Init();
MX_USB_OTG_FS_PCD_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
HAL_GPIO_TogglePin(GPIOB, 0);
HAL_GPIO_TogglePin(GPIOB, 7);
HAL_GPIO_TogglePin(GPIOB, 14);
HAL_Delay(1000);
}
观察:
上面几行代码只有LD3会闪烁。如果我尝试只闪烁 LD3 并注释掉其他两个闪烁命令,那么 LD3 不再闪烁
如果我将三个 LED 的启动条件设置为高电平(在 gpio.c 或 CubeMX 中),那么所有三个 LED 都会打开,但之后它们不会闪烁。
有人知道这是怎么回事吗?
尴尬的是,这就是问题所在。 API HAL_GPIO_TogglePin() 需要非常具体的参数。
以下示例不起作用:
HAL_GPIO_TogglePin(A,12);
HAL_GPIO_TogglePin(GPIOA,12);
HAL_GPIO_TogglePin(A,GPIO_Pin_12);
请确保您使用正确的句柄和参数:
HAL_GPIO_TogglePin(GPIOA,GPIO_Pin_12);