【Seeed开发板试用体验】扩展篇(3)使用Blacklib库开发BBG应用

  • gjianw217
  • LV4工程师
  • |      2015-12-05 19:58:39
  • 浏览量 3411
  • 回复:0


一、BlackLib

    曾几何,还在终端操作cape的工作状态;想当初,还在为编写cape的调用函数发愁,而Blacklib库的横空出世,几乎解决了大半的工作。Blacklib库使用功能强大的C++语言编写,主要为Bealgebone Black的特性写的。有读模块输入、生成pwm信号、使用gpio引脚、和其他设备通信用到的UARTSPII2C,除此之外,还具有debugging功能。当调用库中任何一个函数时,还可以检查错误,在最新的V3.0版本中,实现了并行编程,互斥操作,目录操作、时间操作等。

 

二、Blacklib类层次结构

核心层(Library Core

该层做一些核心的工作,应用层不能访问,因为它是一个抽象类,除了析构函数和构造函数,所有的成员函数都是私有的(private)或保护的(protected

中间层(Sub Level Cores

该层定义了GPIOADCPWM的特性,同时还可以派生出属于自己特性的类。

应用层(End Node Class

该层主要和用户进行交互,可以读或设置或控制Beaglebone BlackADC,GPIOPWM。也封装了可以直接使用的UARTSPII2C接口。具体的接口API,可查看官网:http://blacklib.yigityuce.com/namespaceBlackLib.html

三、Blacklib库使用

1 下载官方库文件

 

2 进入第三版,查看例子examples.cpp,可见,官网为每个模块都写了相应的测试文件

 

#include "BlackLib.h"



#include "examples/example_GPIO.h"

#include "examples/example_ADC.h"

#include "examples/example_PWM.h"

#include "examples/example_SPI.h"

#include "examples/example_UART.h"

#include "examples/example_I2C.h"

#include "examples/example_directory.h"

#include "examples/example_threadAndMutex.h"

#include "examples/example_time.h"



int main()

{



    example_GPIO();

    example_ADC();

    example_PWM();

    example_SPI();

    example_UART();

    example_I2C();

    example_directory();

    example_threadAndMutex();

    example_time();





    return 0;

}


3 修改Makefile文件,指定交叉编译器,头文件目录和库文件目录为自己的交叉编译器

 

编译通过,说明可以进行下一步的实现

 


5 参考链接

http://beagleboard.org/project/blacklib/
https://github.com/yigityuce/BlackLib



  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子