STM32cubeMX快速配置FreeRTOS任务

简介: STM32cubeMX快速配置FreeRTOS任务

前言

本文带大家使用cubeMX快速配置FreeRTOS的任务。

一、cubeMX配置

1.选择FreeRTOS

image.png

2.为FreeRTOS分配任务栈大小

image.png

这里内存可以设置大一点,内存不足会导致任务无法创建。

3.创建任务

点击Add添加一个任务

image.png

1.Task Name:任务名字

2.priority:任务优先级

3.Stack size:任务堆栈大小(字节)

4.Entry Function:任务函数名字

其他几个参数我们设置为默认值就OK了

二、代码查看

1.创建任务

//cubeMX帮我们自动生成的任务
/* Create the thread(s) */
/* definition and creation of defaultTask */
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
//我们自己创建的任务
/* definition and creation of Task1 */
osThreadDef(Task1, StartTask1, osPriorityNormal, 0, 128);
Task1Handle = osThreadCreate(osThread(Task1), NULL);
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
/* Start scheduler */
osKernelStart();//开启任务调度器

2.任务函数

使用osDelay函数会释放资源使任务进入阻塞状态。

/* USER CODE END Header_StartDefaultTask */
void StartDefaultTask(void const * argument)
{
  /* USER CODE BEGIN 5 */
  /* Infinite loop */
  for(;;)
  {
  }
  /* USER CODE END 5 */
}
/* USER CODE BEGIN Header_StartTask1 */
/**
* @brief Function implementing the Task1 thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartTask1 */
void StartTask1(void const * argument)
{
  /* USER CODE BEGIN StartTask1 */
  /* Infinite loop */
  for(;;)
  {
    osDelay(1);
  }
  /* USER CODE END StartTask1 */
}

总结

使用cubeMX配置能大大减小我们代码的书写量。

相关文章
|
5月前
|
JSON 数据可视化 物联网
基于STM32和FreeRTOS的实时天气系统设计与实现【免费开源】
随着物联网(IoT)技术的发展,实时数据监测系统逐渐成为日常生活和工业环境中不可或缺的组成部分。其中,气象监测系统不仅可以提供温度、湿度、天气状况等信息,还可以通过数据分析为农业、城市管理和个人生活提供智能化建议。本项目以STM32F407为核心控制器,结合FreeRTOS实时操作系统和ESP8266 Wi-Fi模块,实现一套高可靠、实时更新的智能气象监测系统。同时,系统集成了计时功能,通过串口屏将实时数据可视化展示,为用户提供直观的操作体验。
基于STM32和FreeRTOS的实时天气系统设计与实现【免费开源】
|
5月前
|
传感器 数据采集 物联网
基于STM32和FreeRTOS的智能手环项目设计与实现【免费开源】
随着可穿戴设备的普及,智能手环逐渐成为健康管理、运动监测和生活便捷的重要工具。本项目旨在设计一款基于STM32微控制器和FreeRTOS实时操作系统的智能手环,具备心率监测、运动计步、睡眠分析以及蓝牙通信功能。通过FreeRTOS实现多任务调度,提高系统响应效率和资源利用率,同时保证低功耗设计,延长手环续航。
基于STM32和FreeRTOS的智能手环项目设计与实现【免费开源】
STM32CubeMX FreeRTOS 互斥锁
STM32CubeMX FreeRTOS 互斥锁
643 12
STM32CubeMX FreeRTOS 任务的挂起和恢复
STM32CubeMX FreeRTOS 任务的挂起和恢复
475 12
STM32Cubemx FreeRTOS Event
STM32Cubemx FreeRTOS Event
336 11
|
消息中间件
STM32CubeMX FreeRTOS 消息队列
STM32CubeMX FreeRTOS 消息队列
1199 11
STM32Cubmx FreeRTOS Timer
STM32Cubmx FreeRTOS Timer
175 10
STM32CubeMX FreeRTOS点亮LED
STM32CubeMX FreeRTOS点亮LED
395 10
|
编解码
STM32CubeMX FreeRTOS u8g2图片菜单制作
STM32CubeMX FreeRTOS u8g2图片菜单制作
805 8

热门文章

最新文章