野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 26|回复: 1

1.在学习FreeRTOS中 任务的定义这一章节遇到一个问题

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式
本帖最后由 雨田言炎 于 2026-6-17 21:40 编辑

在 任务的定义 的程序中:遇到的一个error,见下图:

野火论坛202606172131451909..png
​经过调试(对比之前敲的代码,使用的方法是删除,调试,排除,再删除,再调试,直到错误消失,一步步定位错误的地方),最终发现:
这是list.h中包含的头文件:
野火论坛202606172132164045..png
这是FreeRTOS.h中包含的头文件:
野火论坛202606172133011069..png
当把list.h中的#include "FreeRTOS.h"换成#include "portmacro.h"编译PASS:
野火论坛202606172133349093..png
这是为什么? 百思不得其解
我也附了代码在附件中。

7-01 任务的定义和实现02.rar

97.19 KB, 下载次数: 1

回复

使用道具 举报

发表于 3 小时前 | 显示全部楼层
这部分例程头文件弄得比较混乱,像上面的工程就是比较直接的头文件互相引用问题,FreeRTOS.h里面展开list.h,lish又展开FreeRTOS.h(FreeRTOS.h又准备展开list.h,但这次再展开list.h失败,因为这一过程都在同一个文件中,第一次的展开list.h把LIST_H定义了,所以里面这层被展开的FreeRTOS.h的上文就看不到list相关的定义)

后续自己的工程按正常思路调整就行,C和H文件都尽量只include需要的,不要把大部分H都写在一个H,然后Cinclude这个H这样偷懒方式
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2026-6-22 14:15 , Processed in 0.161195 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表