加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
登录/注册
立即注册,领取新人专属福利!
  • 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

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

02/12 10:11
872
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

联系方式.txt

共1个文件

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


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 wordsn", (unsigned int)stackHighWaterMark);
		size_t freeHeapSize = xPortGetFreeHeapSize();// 获取系统的可用堆空间
		printf("StartDefaultTask Free Heap Size: %u bytesn", (unsigned int)freeHeapSize);

在这里插入图片描述

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

在这里插入图片描述

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

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

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

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

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

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

  • 联系方式.txt
    下载
意法半导体

意法半导体

意法半导体(ST)集团于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。意法半导体是世界最大的半导体公司之一,公司销售收入在半导体工业五大高速增长市场之间分布均衡(五大市场占2007年销售收入的百分比):通信(35%),消费(17%),计算机(16%),汽车(16%),工业(16%)。 据最新的工业统计数据,意法半导体是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列.

意法半导体(ST)集团于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。意法半导体是世界最大的半导体公司之一,公司销售收入在半导体工业五大高速增长市场之间分布均衡(五大市场占2007年销售收入的百分比):通信(35%),消费(17%),计算机(16%),汽车(16%),工业(16%)。 据最新的工业统计数据,意法半导体是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列.收起

查看更多
点赞
收藏
评论
分享
加入交流群
举报

相关推荐

方案定制

去合作
方案开发定制化,2000+方案商即时响应!