在第一篇的基础上,经过一段时间的学习,看其他人的视频。
ESPIDF的CMAKE其实还有这个特性:
主目录下的CMAKElists文件中,箭头的这句include其实就是帮我们包含了idf目录下的cmake文件,包含了有什么用呢?
其实包含了idf目录下的cmakelists文件,间接上就等于包含了idf目录下的components文件夹内的所有组件,这就是为什么main.c可以直接include一些默认组件。
比如:
freertos这个组件就是idf内官方提供的,如果根目录的cmakelists里面没有那句include,那么main.c是无法直接包含freertos这个组件的。
搞明白了根目录下的cmakelists之后,我们知道项目文件夹内的components是cmake帮我们包含的idf目录下的官方组件,如果我们想要新增自己的组件user_components,那么直接把自己想要添加的组件写在components文件夹内,main文件也能调用到。
如果想要目录更加清爽和规范,按照我个人的编程习惯,我会再新建一个user_components文件夹,用于存放我自己编写的用户组件,并在user_components文件夹内新建了三个自己写的组件,用于存放各模块的功能函数,我将这个文件夹新建在根目录下: