查看: 475|回复: 0
打印 上一主题 下一主题

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

[复制链接] qrcode

32

主题

38

帖子

110

积分

注册会员

Rank: 2

积分
110
楼主
跳转到指定楼层
发表于 2015-12-5 07:58 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


一、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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表