FreeRtos的时钟要单独选择一个定时器
选择外部时钟
选择freertos系统 CMSIS_V1
创建一个任务
一般只需要把优先级改一下就好
再选择要控制的GPIO
两个按键,两个灯
两个按键分别控制两个灯,在两个任务里不会互相干扰
void StartDefaultTask(void const * argument)
{
/* USER CODE BEGIN StartDefaultTask */
/* Infinite loop */
while(1)
{
if (HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_13) == 0) //读端口
{
osDelay(100);
if (HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_13) == 0) //读端口
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_15); //取反
}
}
}
/* USER CODE END StartDefaultTask */
}
void StartTask02(void const * argument)
{
/* USER CODE BEGIN StartTask02 */
/* Infinite loop */
while(1)
{
if (HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == 0) //读端口
{
osDelay(100);
if (HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13) == 0) //读端口
{
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14); //取反
}
}
}
/* USER CODE END StartTask02 */
}