F2 CubeMX快速上手freeRTOS

1.环境搭建

  • STM32CubeMX
  • keil5
  • stm32f103zet6

2.点亮RTOS的第一盏灯

  • 打开STM32CubeMX新建工程并选择MCU型号为stm32f103zet6
  • 经过查找电路图发现灯的引脚为PB5,先将PB5配置为输出模式,由于按照电路图设计,当该引脚为低电平时候,灯被点亮,故先将该引脚配置为默认输出高电平,顺便起个别名叫LED0

  • 在SYS选项下将调试模式设置为Serial Wire,开启烧写调试功能
  • 选择Timebase Source为systick以外的一个,此处使用TIM1做为HAL库时钟源,systick时钟源就留给了freeRTOS使用

  • 选择时钟源,使用外部晶振

  • 配置freeRTOS

  • 生成代码

  • 进入工程源码下的freertos.c文件下编写任务函数
/* USER CODE BEGIN Header_LED_Task */
/**
  * @brief  Function implementing the LEDTask thread.
  * @param  argument: Not used 
  * @retval None
  */
/* USER CODE END Header_LED_Task */
void LED_Task(void const * argument)
{
  /* USER CODE BEGIN LED_Task */
  /* Infinite loop */
  for(;;)
  {
      /*灯闪烁*/
	  HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);
	  osDelay(1000);
	  HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET);
	  osDelay(1000);
  }
  /* USER CODE END LED_Task */
}
  • 编译,下载,运行,灯亮,成功
相关文章
相关标签/搜索