单片机怎么在一个project里面包含两个c程序
1个回答
展开全部
这是标准的C语言写法。
1. 不管有多少个函数,C总是从main()主函数开始执行。
2. 至于你说的一个工程里面包括多个.c的文件,其实每个.c的文件里就是一系列函数而已。如果你要使用这些函数的话你要在头文件里加入#include。比如我要用“init.c”这个文件,则头文件中除了#include"reg51.h"你还要加#include"init.c"然后如果在"init.c"中有一个函数"init()"我需要调用。我就要在main()函数之前作声明。(其实一般我们要调用一个函数,除非这个函数写在main()之前。否则我都要在main()之前做函数声明。比如在main()之前加上void init();)那么如果这个init();在其他文件中,改如何声明呢?我们一般可以做外部声明.extern init();就行了。
3. 其实说穿了,你的问题就是函数声明问题。如果前面加上正确的声明,你的编译应该能通过的。单片机也能按照你的要求工作了。顺便说一句,如果是外部文件的数据结构,如果要调用的话,也是做extern声明。如果还有不明白的地方你可以看看标准的c语言方面的书籍就能明白了。
1. 不管有多少个函数,C总是从main()主函数开始执行。
2. 至于你说的一个工程里面包括多个.c的文件,其实每个.c的文件里就是一系列函数而已。如果你要使用这些函数的话你要在头文件里加入#include。比如我要用“init.c”这个文件,则头文件中除了#include"reg51.h"你还要加#include"init.c"然后如果在"init.c"中有一个函数"init()"我需要调用。我就要在main()函数之前作声明。(其实一般我们要调用一个函数,除非这个函数写在main()之前。否则我都要在main()之前做函数声明。比如在main()之前加上void init();)那么如果这个init();在其他文件中,改如何声明呢?我们一般可以做外部声明.extern init();就行了。
3. 其实说穿了,你的问题就是函数声明问题。如果前面加上正确的声明,你的编译应该能通过的。单片机也能按照你的要求工作了。顺便说一句,如果是外部文件的数据结构,如果要调用的话,也是做extern声明。如果还有不明白的地方你可以看看标准的c语言方面的书籍就能明白了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询