mraa(libmraa)是一款底层支持库,避免用户通过重新修改与编译系统镜像的方式来进行基本的底层操作。该库支持如GPIO、i2c、spi等芯片外设的控制。使用方法上比较类似于ST公司开发的HAL库,只是两者针对的对象不同。
mraa目前支持许多规范开发板,具体的支持可以在其官方网站上进行查询
1.下载与安装
参照mraa官网上的Building libmraa上的步骤可以安装,但是感觉写的比较乱,这里贴一下以免忘记。
写这篇文章的时候使用的是v1.7.0版本的
sudo apt-get install git build-essential swig3.0 python-dev python3-dev nodejs-dev cmake libjson-c-dev
wget https://github.com/intel-iot-devkit/mraa/archive/v1.7.0.tar.gz
tar -zxvf v1.7.0.tar.gz
cd mraa-1.7.0/
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
make
sudo make install
2.使用
我们可以用mraa主页的例程试一下
#include "mraa.h"
int
main(int argc, char** argv)
{
const char* board_name = mraa_get_platform_name();
fprintf(stdout, "hello mraa\n Version: %s\n Running on %s\n", mraa_get_version(), board_name);
mraa_deinit();
return MRAA_SUCCESS;
}
保存为123.c ,使用gcc进行编译
注意!在编译时要附加 -lmraa 以链接到libmraa
gcc 123.c -lmraa