22.3.2-任务栈 和 系统可用堆 上手编程 FreeRTOS 项目 FreeRTOS学习笔记 FreeRTOS移植 FreeRTOS开源项目 FreeRTOS面试题汇总FreeRTOS项目实战F1

这个是全网最详细的STM32项目教学视频。
第一篇在这里:
视频在这里:

https://www.bilibili.com/video/BV16x4y1M7EN/?share_source=copy_web&vd_source=f5d5850ab773377dff308188468fbc77

STM32智能小车V3-STM32入门教程-openmv与STM32循迹小车-stm32f103c8t6-电赛 嵌入式学习 PID控制算法 编码器电机 跟随)]
V3:HAL库开发、手把手教学下面功能:PID速度控制、PID循迹、PID跟随、遥控、避障、PID角度控制、openmv视觉控制、电磁循迹、FreeRTOS、K210视觉智能车(更新中)、K230视觉智能车(更新中)、MSPM0G3507视觉智能车(更新中)
在这里插入图片描述

22.3.2-任务栈 和 系统可用堆 上手编程

复制一下22-2_LED_FreeRTOS 的代码,重新命名22-3_LED_FreeRTOS

打开LED.ioc

打开uxTaskGetStackHighWaterMark 使能
在这里插入图片描述
默认任务中增加获取任务高水位值和系统可用堆空间代码,时间改成10ms
在这里插入图片描述

		UBaseType_t stackHighWaterMark = uxTaskGetStackHighWaterMark(NULL);// 获取当前任务的栈高水位值
		printf("StartDefaultTask Mark: %u words\n", (unsigned int)stackHighWaterMark);
		size_t freeHeapSize = xPortGetFreeHeapSize();// 获取系统的可用堆空间
		printf("StartDefaultTask Free Heap Size: %u bytes\n", (unsigned int)freeHeapSize);

在这里插入图片描述

		UBaseType_t stackHighWaterMark = uxTaskGetStackHighWaterMark(NULL);// 获取当前任务的栈高水位值
		printf("StartLedTask Mark: %u words\n", (unsigned int)stackHighWaterMark);
		size_t freeHeapSize = xPortGetFreeHeapSize();// 获取系统的可用堆空间
		printf("StartLedTask Free Heap Size: %u bytes\n", (unsigned int)freeHeapSize);

在这里插入图片描述

	UBaseType_t stackHighWaterMark = uxTaskGetStackHighWaterMark(NULL);// 获取当前任务的栈高水位值
	printf("StartOledTask Mark: %u words\n", (unsigned int)stackHighWaterMark);
	size_t freeHeapSize = xPortGetFreeHeapSize();// 获取系统的可用堆空间
	printf("StartOledTask Free Heap Size: %u bytes\n", (unsigned int)freeHeapSize);

然后编译->烧录到开发板里面

因为我们使用printf是串口一输出信息,所以我们使用DAP连接底板的串口一,具体教程在(如果不会接线和使用可以具体看前面的视频):第四章-串口实验(简单输出)->4.2串口实验->接线图->使用dap
在这里插入图片描述
然后打开串口软件

可以看到 每个任务的任务的栈高水位值(如果这个值过小,就要提高所在任务栈大小)

还有系统的可用堆空间,如果这个值过小就要提高TOTAL_HEAP_SIZE 系统可用堆大小

在下面这个位置提高系统可用堆大小
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code_未来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值