uVision LED灯
uVision Led lights
这是我第一次为 mikrokontroler 编程,我正在使用 uVison 并有一个 stm32 可以编程。,
我在引脚上有两个 LED 灯:PIN_4 和 PIN_5 有一个教程我知道如何使一个闪烁(下面的代码)但我不知道如何使它们机器人眨眼的延迟不一样。就像我想让 PIN_4 延迟 100 毫秒,PIN:5 延迟 50 毫秒。下面的代码是一个Led灯的代码。
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4); //Toggle the state of pin PC9
HAL_Delay(100); //delay 100ms
}
/* USER CODE END 3 */
}
你有2个选项。
首先,您可以设置一个计时器来计算毫秒数。您可以从 STMCubeMX 为 50ms 计时器生成代码。然后,在定时器回调函数中,您应该将引脚设置为高电平或低电平。
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
timer_counter++; //50ms
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);
if(timer_counter>=2) //100ms
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4);
timer_counter = 0;
}
}
第二个选项是main中的延迟。
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5); //Toggle the state of pin PB5
HAL_Delay(50); //delay 50ms
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4); //Toggle the state of pin PB4
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5); //Toggle the state of pin PB5
HAL_Delay(50); // delay 50ms
}
/* USER CODE END 3 */
}
这是我第一次为 mikrokontroler 编程,我正在使用 uVison 并有一个 stm32 可以编程。,
我在引脚上有两个 LED 灯:PIN_4 和 PIN_5 有一个教程我知道如何使一个闪烁(下面的代码)但我不知道如何使它们机器人眨眼的延迟不一样。就像我想让 PIN_4 延迟 100 毫秒,PIN:5 延迟 50 毫秒。下面的代码是一个Led灯的代码。
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4); //Toggle the state of pin PC9
HAL_Delay(100); //delay 100ms
}
/* USER CODE END 3 */
}
你有2个选项。
首先,您可以设置一个计时器来计算毫秒数。您可以从 STMCubeMX 为 50ms 计时器生成代码。然后,在定时器回调函数中,您应该将引脚设置为高电平或低电平。
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
timer_counter++; //50ms
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5);
if(timer_counter>=2) //100ms
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4);
timer_counter = 0;
}
}
第二个选项是main中的延迟。
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5); //Toggle the state of pin PB5
HAL_Delay(50); //delay 50ms
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_4); //Toggle the state of pin PB4
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_5); //Toggle the state of pin PB5
HAL_Delay(50); // delay 50ms
}
/* USER CODE END 3 */
}