将Arduino的ino文件分解成多个.h和.cpp工程文件
当用Arduino做复杂工程项目时,程序难免会变得很大。这时候要修改个别参数或函数的时候会变得麻烦,简而言之,项目程序管理难度增高了,程序代码维护会变得困难。这时候,就产生了将一个ino文件分解成多个功能相对独立的源文件,这样就便于针对性的管理代码了。
1. 需要做的准备
不是所有的代码都方便分解成多个cpp文件进行管理的,特别是编程时想到哪编到哪的,代码会异常的凌乱。这意味着,里面的函数关系,逻辑嵌套,变量使用等都是极度凌乱的。这样的代码很难分解开来。因此,如果着手做的是一个相对大的项目,一开始便要有整体规划代码的意识。
一是以功能需求对应各个子函数,尽量一个函数只完成一个功能,避免功能上的嵌套;
二是变量定义要清晰。
在对整体的代码有了比较清晰的规划后,便可以着手分解代码了。
2.功能函数代码的分解
首先,你需要在原来工程文件夹下新建一个头文件,如 config.h,然后将Arduino的硬件接口定义放在这里面。然后,按照功能划分,分别建立各个功能的cpp文件,如 motion.cpp 文件中放置定义了各种运动的函数。然后将各个函数的声明写到 config.h 中。(原来一个ino文件时,软件会自动加函数声明,但现在需要自己加了)如:void trun_left(int, int); 。其他各种功能也是如此。但个函数都划分成多个cpp文件后,就要来处理全局变量的问题了。
3.全局变量的声明
因为在一个地方定义的变量很可能在其他地方使用,因此,全局变量就很关键了。原涞单个ino文件时,只要在 setup() ,上面定义的变量都默