Arduino怎么建立一个包含很多.h和.cpp文件的工程

之前用keil的时候,共同实现一个功能的.c和.h文件都会放在一个文件夹里,所以想arduino有没有这样的管理方法,现在确定是有的。
例如我现在写一个串口屏的程序,首先建立一个screen.cpp文件,如下:

#include "Arduino.h"
#include “stdio.h”
void dispaly_init(int page)
{
    Serial1.printf("page %d\xff\xff\xff",page);
	Serial1.printf("page1.n1.val=%d\xff\xff\xff",0);
	Serial1.printf("page1.n2.val=%d\xff\xff\xff",0);
	Serial1.printf("page1.n3.val=%d\xff\xff\xff",0);
    delay(100);
}

void display_sensor(int s1,int s2,int s3)
{
    Serial1.printf("page1.n1.val=%d\xff\xff\xff",s1);
	Serial1.printf("page1.n2.val=%d\xff\xff\xff",s2);
	Serial1.printf("page1.n3.val=%d\xff\xff\xff",s3);
    delay(100);  
}

这个screen.cpp文件里包含display_init()和display_sensor()两个函数。
然后建立一个screen.h文件,如下:

#include "Arduino.h"
#include “stdio.h”
extern void dispaly_init(int page);
extern void display_sensor(int s1,int s2,int s3);

对于新建的screen.cpp和screen.h文件,首先要在头文件声明#include "Arduino.h"
现在在.ino文件的路径下建立一个文件夹screen,把screen.cpp和screen.h放在screen文件夹里。
在这里插入图片描述
在.ino文件里首先引入建立的.cpp和.h文件(可以采用相对路径,.\\表示与.ino同一目录下,..\\表示.ino的上一级目录),如下。在头文件声明后,就可以调用刚才写的display_init()和display_sensor()了。
在这里插入图片描述

可以看到上图中界面只显示.ino一个文件,如果用Sketch->Add file去添加screen文件夹里的.cpp和.h的话,会在.ino路径下重新生成这两个文件,编译的时候就会显示重复定义。所以如果要同时显示几个文件的话(如下图所示),可以在一开始就不建立screen文件夹,把.cpp和.h文件以及.ino文件放在一个文件夹下,但是文件一多可能不太好管理。
在这里插入图片描述
如果.cpp里有变量,也是同样的操作。但是现在我没弄明白的是,鼠标放在.ino里的自定义函数上会显示函数信息,但是右键go to definition,它为什么不能跳转到函数定义的地方。
在这里插入图片描述

  • 17
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值