原帖由
nongxiaoming
发自:dev.eefocus.com
------------------------------------------------------------------------------------------------------------------------------------------
上一节我们讲了如何在工程中模块化编程,如何使用C++编写我们的硬件驱动并以编写LCD5110驱动为例子。现在问题来了,把驱动编写以后每次建新的工程都要重新复制用到的.cpp和.h文件到新的工程吗?这样实在是很不方便。经过笔者研究发现,自带的驱动在菜单那里就可以很方便的进行添加,如下图:
是的,我们再第二节进行软件串口测试时就使用了这里的库,非常方便。经过笔者的一番研究,发现这里的库对应Mpide目录下的“libraries”的各个子文件加,如下图: 但是笔者在这个目录下建立了个文件夹,然后打开Mpide的“Import Libraries”竟然没有发现驱动有增加。后来笔者再次摸索,发现Mpide目录下的“hardware\pic32” 下面也有个“libraries”文件夹,在里面建立了个文件夹,再打开Mpide的“Import Libraries”果然看到增加了刚刚建立的文件夹的名称,可以确定菜单上的驱动库列表是在“hardware\pic32\libraries”文件夹中。 找到源头就好办了,下面我们开始添加我们自己的驱动,以我们上次的LCD5110驱动为例。 首先在hardware\pic32\libraries文件夹中新建一个文件夹命名为“LCD5110”,如下图: 复制上一节编写的“lcd5110.cpp”、“lcd5110.h”,“font_ascii.h”三个文件到我们刚刚建的LCD5110文件夹当中。 重新启动Mpide,此时再次打开“Sketch”菜单下的“Import Libraries”,你会发现多了一个“LCD5110”,如下图: 没错,这个就是我们刚刚加入进去的。选择以后将默认将头文件添加到我们的工程中。如下图: 问题又来了,我们只要添加lcd5110.h就可以了,为何还要个font_ascii.h也添加进来了啊?为了解决这个问题,我们将font_ascii.h改为font_ascii.c,同时将lcd5110.cpp中的#include "font_ascii.h"改一下,再次测试添加,问题解决。 接下来我们测试一下,新建一个工程,输入一下代码: #include <lcd5110.h> lcd5110 mylcd(10,9,8,7,6,5); //构造我们的LCD5110,相应管脚写上 void setup() { mylcd.Init(); //初始化 } void loop() { mylcd.printlnStr6_8(1,0,"LCD5110 TEST"); //输出字符 delay(200); mylcd.printlnStr6_8(0,1,"This is a demo test for the Nokia LCD5110!"); //输出字符 delay(200); mylcd.printlnStr6_8(0,4,"I love ChipKIT Uno32!"); //输出字符 delay(5000); }
编译通过,并下载到板子能成功运行。O(∩_∩)O~现在是不是很方便了,很等什么?赶紧把你写的驱动都加入进去吧!
【玩转ChipKIT Uno32】4.如何将写好的驱动加入驱动库中.zip
(132.43 KB, 下载次数: 15)
|